{
  "chapter": {
    "id": "web",
    "level": "snt",
    "theme": "Le Web",
    "title": "Le Web",
    "description": "Naissance du Web, distinction entre le Web et Internet, adresses des\nressources, protocoles HTTP et HTTPS, langages HTML et CSS, liens\nhypertextes, moteurs de recherche et indexation, traces de navigation\net droit d'auteur.",
    "prerequisites": [],
    "references": []
  },
  "questions": [
    {
      "id": "q01",
      "difficulty": 1,
      "skills": [
        "histoire"
      ],
      "title": "Naissance du Web",
      "statement": "Le Web est né à la fin des années 1980. Qui en est à l'origine, et\ndans quel cadre ?",
      "options": [
        {
          "text": "Tim Berners-Lee, au CERN, pour partager les documents\ndes chercheurs du laboratoire",
          "correct": true,
          "feedback": "Bonne réponse : en 1989, Tim Berners-Lee propose au CERN un\nsystème de documents reliés par des liens. Le premier site\ndevient accessible à tous en 1991."
        },
        {
          "text": "Vint Cerf, dans un laboratoire américain, pour relier\nentre eux des réseaux différents",
          "correct": false,
          "feedback": "Erreur : Vint Cerf est l'un des concepteurs des protocoles\nd'Internet, le réseau qui transporte le Web. Il n'a pas inventé\nles pages reliées par des liens."
        },
        {
          "text": "Marc Andreessen, à l'université de l'Illinois, en\npubliant un navigateur à images",
          "correct": false,
          "feedback": "Erreur : ce navigateur date de 1993, soit quatre ans après\nl'invention du Web. Un logiciel qui affiche les pages n'est pas\nle Web lui-même."
        },
        {
          "text": "Larry Page et Sergueï Brin, à l'université Stanford,\nen lançant un moteur de recherche",
          "correct": false,
          "feedback": "Erreur : ces deux ingénieurs ont fondé Google en 1998. Un moteur\nde recherche explore un Web qui existait déjà, il ne l'a pas\ncréé."
        }
      ],
      "explanation": "Le Web est un ensemble de documents reliés par des liens\nhypertextes, consultables grâce à Internet. Son invention date de\n1989 et 1990, soit une vingtaine d'années après les premiers\nréseaux qui ont donné Internet."
    },
    {
      "id": "q02",
      "difficulty": 1,
      "skills": [
        "web-internet",
        "definition"
      ],
      "title": "Web et Internet",
      "statement": "Léa affirme que le Web et Internet sont deux mots pour la même\nchose. Que faut-il lui répondre ?",
      "options": [
        {
          "text": "Le Web est le réseau de câbles et d'antennes ; Internet\ndésigne les pages que l'on consulte",
          "correct": false,
          "feedback": "Erreur : les deux termes sont intervertis. Les câbles et les\nantennes forment l'infrastructure d'Internet, tandis que le Web\ndésigne les pages."
        },
        {
          "text": "Internet est un service du Web, au même titre que la\nmessagerie électronique",
          "correct": false,
          "feedback": "Erreur : l'ordre est inversé. La messagerie et le Web sont deux\nservices distincts qui s'appuient l'un et l'autre sur Internet."
        },
        {
          "text": "Internet est le réseau qui transporte les données ; le\nWeb est l'un des services qu'il rend",
          "correct": true,
          "feedback": "Bonne réponse : Internet est le réseau, le Web un service parmi\nd'autres. On peut utiliser Internet sans consulter la moindre\npage web."
        },
        {
          "text": "Les deux mots désignent bien la même chose, le réseau\nmondial des pages reliées entre elles",
          "correct": false,
          "feedback": "Erreur : la confusion est fréquente. Le réseau mondial s'appelle\nInternet, et l'ensemble des pages reliées par des liens s'appelle\nle Web."
        }
      ],
      "explanation": "Internet est un réseau de machines qui acheminent des données. Le\nWeb est un service qui circule sur ce réseau, comme la messagerie\nou la téléphonie par Internet."
    },
    {
      "id": "q03",
      "difficulty": 2,
      "skills": [
        "web-internet"
      ],
      "title": "Courriel et Web",
      "statement": "Sami envoie un courriel à sa professeure, puis consulte le site du\nlycée. Que peut-on dire de ces deux usages ?",
      "options": [
        {
          "text": "Les deux relèvent du Web, puisqu'ils empruntent le même\nréseau mondial",
          "correct": false,
          "feedback": "Erreur : un réseau commun ne fait pas un service commun. Le Web\ndésigne les pages reliées par des liens et consultées dans un\nnavigateur."
        },
        {
          "text": "Les deux passent par Internet, mais seule la consultation\ndu site relève du Web",
          "correct": true,
          "feedback": "Bonne réponse : la messagerie et le Web sont deux services\ndistincts, dotés chacun de ses protocoles, qui circulent sur le\nmême réseau."
        },
        {
          "text": "Seul le courriel relève du Web, car il fait circuler un\nmessage entre deux personnes",
          "correct": false,
          "feedback": "Erreur : la messagerie est un service à part entière, antérieur\nau Web. Échanger un message n'est pas consulter une page."
        },
        {
          "text": "Aucun des deux ne relève du Web, qui sert uniquement à\nla recherche d'informations",
          "correct": false,
          "feedback": "Erreur : le Web ne se réduit pas aux moteurs de recherche.\nConsulter le site du lycée dans un navigateur, c'est déjà\nutiliser le Web."
        }
      ],
      "explanation": "Internet rend plusieurs services : la messagerie, le transfert de\nfichiers, la téléphonie et le Web. Chacun repose sur ses propres\nprotocoles."
    },
    {
      "id": "q04",
      "difficulty": 3,
      "skills": [
        "histoire",
        "web-internet"
      ],
      "title": "Apport du Web",
      "statement": "Internet existait déjà quand le Web a été inventé. Qu'est-ce que\ncette invention a apporté de nouveau ?",
      "options": [
        {
          "text": "Le découpage des messages en paquets acheminés\nindépendamment sur le réseau",
          "correct": false,
          "feedback": "Erreur : la transmission par paquets est un principe d'Internet,\nmis au point dans les années 1960 et 1970, bien avant le Web."
        },
        {
          "text": "La possibilité de relier entre eux des réseaux\nappartenant à des organisations différentes",
          "correct": false,
          "feedback": "Erreur : c'est le rôle des protocoles d'Internet. Le Web ajoute\npar-dessus un service de documents, il ne relie pas les réseaux."
        },
        {
          "text": "Les câbles sous-marins qui relient aujourd'hui les\ncontinents entre eux",
          "correct": false,
          "feedback": "Erreur : les câbles appartiennent à l'infrastructure d'Internet.\nLe Web est un service logiciel, sans existence matérielle propre."
        },
        {
          "text": "Un système de documents reliés, avec des adresses, un\nlangage de pages et un protocole",
          "correct": true,
          "feedback": "Bonne réponse : Tim Berners-Lee a défini ensemble les URL, qui\nadressent une ressource, le protocole HTTP, qui la demande, et\nle langage HTML, qui l'écrit."
        }
      ],
      "explanation": "Le Web repose sur trois inventions solidaires : une adresse\nuniverselle pour désigner une ressource, un protocole pour la\ndemander et un langage pour écrire des pages reliées entre elles."
    },
    {
      "id": "q05",
      "difficulty": 1,
      "skills": [
        "navigateur",
        "client-serveur"
      ],
      "title": "Rôle du navigateur",
      "statement": "Malik ouvre un navigateur pour consulter le site de son lycée. Quel\nest le rôle de ce logiciel ?",
      "options": [
        {
          "text": "Il héberge les pages du site et les envoie aux machines\nqui les demandent",
          "correct": false,
          "feedback": "Erreur : c'est le rôle du serveur web. Le navigateur se trouve\ndu côté du visiteur, il demande les pages et les affiche."
        },
        {
          "text": "Il demande les pages au serveur, puis interprète leur\ncode pour les afficher",
          "correct": true,
          "feedback": "Bonne réponse : le navigateur est le client. Il envoie une\nrequête, reçoit le code HTML et CSS, puis dessine la page à\nl'écran."
        },
        {
          "text": "Il attribue au site une adresse afin que les machines\npuissent le retrouver",
          "correct": false,
          "feedback": "Erreur : les noms de sites sont gérés par le système de noms de\ndomaine. Le navigateur se contente d'utiliser l'adresse qu'on\nlui donne."
        },
        {
          "text": "Il conserve les pages du site pour les transmettre aux\nautres visiteurs",
          "correct": false,
          "feedback": "Erreur : le navigateur garde parfois une copie pour lui-même,\nafin de recharger plus vite, mais il ne distribue rien à\npersonne."
        }
      ],
      "explanation": "Le Web fonctionne sur le modèle client-serveur : le navigateur, côté\nclient, demande une ressource, et le serveur, côté site, la lui\nrenvoie."
    },
    {
      "id": "q06",
      "difficulty": 2,
      "skills": [
        "http",
        "client-serveur"
      ],
      "title": "Déroulement d'une requête",
      "statement": "Camille saisit l'adresse d'un site dans son navigateur. Dans quel\nordre les échanges se déroulent-ils ?",
      "options": [
        {
          "text": "Le navigateur envoie une requête au serveur, qui lui\nrenvoie la page demandée",
          "correct": true,
          "feedback": "Bonne réponse : le protocole HTTP fonctionne par requête et\nréponse. Le client demande une ressource précise, le serveur\nrépond en la fournissant."
        },
        {
          "text": "Le serveur envoie la page à toutes les machines, qui\ngardent celle qui les concerne",
          "correct": false,
          "feedback": "Erreur : un serveur ne diffuse rien à la cantonade. Il répond à\nla machine qui l'a interrogé, et à elle seule."
        },
        {
          "text": "Le navigateur interroge un autre navigateur, qui lui\ntransmet sa copie de la page",
          "correct": false,
          "feedback": "Erreur : les navigateurs ne se parlent pas entre eux. La page\nest toujours demandée au serveur qui l'héberge."
        },
        {
          "text": "Le serveur demande au navigateur la page à afficher,\npuis attend sa réponse",
          "correct": false,
          "feedback": "Erreur : l'initiative vient toujours du client. Un serveur ne\ncontacte jamais de lui-même le navigateur d'un visiteur."
        }
      ],
      "explanation": "Une consultation de page se résume à un échange : une requête HTTP\npartie du navigateur, une réponse du serveur contenant le code de\nla page, puis d'autres requêtes pour les images et les styles."
    },
    {
      "id": "q07",
      "difficulty": 2,
      "skills": [
        "http"
      ],
      "title": "Signification du code 404",
      "statement": "En suivant un lien, Yanis obtient une page d'erreur portant le\nnuméro 404. Que s'est-il passé ?",
      "options": [
        {
          "text": "La connexion à Internet de Yanis a été interrompue\npendant le chargement de la page",
          "correct": false,
          "feedback": "Erreur : sans connexion, aucun code ne parvient au navigateur.\nLe numéro 404 vient justement du serveur, qui a donc été joint."
        },
        {
          "text": "Le serveur est éteint ou injoignable, si bien que la\nrequête n'est jamais arrivée",
          "correct": false,
          "feedback": "Erreur : le navigateur afficherait alors un message d'échec de\nconnexion, sans numéro venu du serveur."
        },
        {
          "text": "Le serveur a bien répondu, mais il n'a pas trouvé la\nressource demandée",
          "correct": true,
          "feedback": "Bonne réponse : le serveur a reçu la requête et y a répondu par\nun code d'erreur signalant que le chemin demandé ne correspond\nà aucune ressource."
        },
        {
          "text": "La page existe mais son accès est réservé aux visiteurs\nidentifiés par un compte",
          "correct": false,
          "feedback": "Erreur : un accès refusé se signale par un autre code. Le\nnuméro 404 indique une ressource introuvable, non un droit\nmanquant."
        }
      ],
      "explanation": "Chaque réponse HTTP porte un code. Les codes qui commencent par 2\nannoncent une réussite, ceux qui commencent par 4 une erreur du\ncôté de la demande, dont le célèbre 404."
    },
    {
      "id": "q08",
      "difficulty": 1,
      "skills": [
        "https",
        "securite"
      ],
      "title": "Le « s » de HTTPS",
      "statement": "Sur le site de sa banque, Nour remarque que l'adresse commence par\n`https` et non par `http`. Qu'apporte cette lettre de plus ?",
      "options": [
        {
          "text": "Les pages se chargent plus vite, car elles sont\ncompressées avant leur envoi",
          "correct": false,
          "feedback": "Erreur : la sécurisation demande même un travail supplémentaire\naux deux machines. La compression est un mécanisme distinct."
        },
        {
          "text": "Le site s'engage à ne déposer aucun cookie sur\nl'ordinateur du visiteur",
          "correct": false,
          "feedback": "Erreur : un site sécurisé dépose des cookies comme un autre. Le\nprotocole protège le transport, il ne dicte pas le contenu."
        },
        {
          "text": "Le contenu publié par le site a été vérifié par une\nautorité de contrôle",
          "correct": false,
          "feedback": "Erreur : aucune autorité ne relit les pages. La vérification\nporte sur l'identité du serveur, jamais sur ce qu'il publie."
        },
        {
          "text": "Les échanges avec le serveur sont chiffrés et le site\nest authentifié",
          "correct": true,
          "feedback": "Bonne réponse : la version sécurisée du protocole chiffre les\néchanges et vérifie, à l'aide d'un certificat, que le serveur\nest bien celui qu'il prétend être."
        }
      ],
      "explanation": "Avec HTTPS, les données échangées entre le navigateur et le serveur\nsont illisibles pour un tiers qui les intercepterait, et le\ncertificat du serveur atteste de son identité."
    },
    {
      "id": "q09",
      "difficulty": 3,
      "skills": [
        "https",
        "esprit-critique"
      ],
      "title": "Limites de HTTPS",
      "statement": "Un site marchand inconnu affiche le cadenas de `https`. Que garantit\ncette indication, et que ne garantit-elle pas ?",
      "options": [
        {
          "text": "Elle protège les données échangées, mais ne dit rien du\nsérieux du vendeur",
          "correct": true,
          "feedback": "Bonne réponse : le chiffrement empêche un tiers de lire le\nnuméro de carte pendant le transport, mais un escroc peut lui\naussi obtenir un certificat pour son site."
        },
        {
          "text": "Elle prouve que le vendeur est déclaré et que les\ncommandes passées seront honorées",
          "correct": false,
          "feedback": "Erreur : le certificat atteste de l'identité du serveur, non de\nl'honnêteté commerciale. Aucun contrôle du sérieux du vendeur\nn'est effectué."
        },
        {
          "text": "Elle protège l'ordinateur du visiteur contre les\nprogrammes malveillants",
          "correct": false,
          "feedback": "Erreur : le protocole sécurise le transport des données. La\nprotection de la machine relève d'autres outils, comme un\nantivirus."
        },
        {
          "text": "Elle garantit que les informations publiées sur le site\nsont exactes",
          "correct": false,
          "feedback": "Erreur : aucun protocole ne vérifie un contenu. L'exactitude\nd'une information s'apprécie en croisant plusieurs sources."
        }
      ],
      "explanation": "HTTPS répond à deux questions : les données sont-elles illisibles\npour un tiers, et le serveur est-il bien celui annoncé par\nl'adresse ? Il ne dit rien de la qualité ni de la loyauté du site."
    },
    {
      "id": "q10",
      "difficulty": 1,
      "skills": [
        "url",
        "definition"
      ],
      "title": "Rôle d'une URL",
      "statement": "Dans son navigateur, Inès saisit l'adresse\n`https://www.ac-lyon.fr/lycee`. À quoi sert une telle adresse ?",
      "options": [
        {
          "text": "À identifier la machine d'Inès auprès du serveur qui va\nlui répondre",
          "correct": false,
          "feedback": "Erreur : l'identification de la machine repose sur son adresse\nIP. Une adresse web désigne la ressource voulue, pas celui qui\nla demande."
        },
        {
          "text": "À désigner une ressource et à indiquer par quel\nprotocole y accéder",
          "correct": true,
          "feedback": "Bonne réponse : une adresse web précise le protocole, le serveur\nà contacter et le chemin de la ressource sur ce serveur."
        },
        {
          "text": "À décrire le contenu de la page pour les moteurs de\nrecherche",
          "correct": false,
          "feedback": "Erreur : la description du contenu se trouve dans la page\nelle-même. L'adresse sert seulement à localiser la ressource."
        },
        {
          "text": "À vérifier que la page reçue n'a pas été modifiée\npendant le transport",
          "correct": false,
          "feedback": "Erreur : une adresse ne vérifie rien. Le contrôle du transport\nrelève des protocoles, notamment de la version sécurisée de\nHTTP."
        }
      ],
      "explanation": "Une URL est l'adresse universelle d'une ressource sur le Web. Elle\nréunit le protocole, le nom du serveur et le chemin du document\ndemandé."
    },
    {
      "id": "q11",
      "difficulty": 2,
      "skills": [
        "url",
        "lecture-adresse"
      ],
      "title": "Nom de domaine dans une URL",
      "statement": "Dans l'adresse `https://www.education.gouv.fr/lycee/actualites`,\nquelle partie désigne le nom de domaine ?",
      "options": [
        {
          "text": "`https`, le nom du serveur interrogé par le navigateur",
          "correct": false,
          "feedback": "Erreur : `https` indique le protocole employé, c'est-à-dire la\nfaçon de demander la ressource, non la machine interrogée."
        },
        {
          "text": "`/lycee/actualites`, le nom du serveur interrogé",
          "correct": false,
          "feedback": "Erreur : cette partie est le chemin de la ressource à\nl'intérieur du site, une fois le serveur atteint."
        },
        {
          "text": "`www.education.gouv.fr`, le nom du serveur visé",
          "correct": true,
          "feedback": "Bonne réponse : le nom de domaine s'étend de `://` jusqu'à la\nbarre oblique suivante. Il désigne le serveur à contacter."
        },
        {
          "text": "`gouv.fr` seul, le reste formant le chemin",
          "correct": false,
          "feedback": "Erreur : le nom de domaine complet comprend aussi ce qui\nprécède, soit `www.education.gouv.fr` dans cette adresse."
        }
      ],
      "explanation": "Une adresse web se lit par morceaux : le protocole, puis le nom de\ndomaine du serveur, puis le chemin de la ressource demandée sur ce\nserveur."
    },
    {
      "id": "q12",
      "difficulty": 2,
      "skills": [
        "url",
        "lien-hypertexte",
        "lecture-de-code"
      ],
      "title": "Lien relatif",
      "statement": "La page `https://www.lycee-jean-moulin.fr/vie-scolaire/index.html`\ncontient le lien suivant.\n\n```html\n<a href=\"menu.html\">Menu de la cantine</a>\n```\n\nQuelle adresse le navigateur demande-t-il si Ambre clique ?",
      "options": [
        {
          "text": "`https://www.lycee-jean-moulin.fr/menu.html`",
          "correct": false,
          "feedback": "Erreur : l'adresse serait celle-là si le lien commençait par une\nbarre oblique. Sans elle, le fichier est cherché dans le dossier\nde la page courante."
        },
        {
          "text": "`https://www.menu.html/vie-scolaire/index.html`",
          "correct": false,
          "feedback": "Erreur : `menu.html` est un nom de fichier, pas un nom de\ndomaine. Le serveur contacté reste `www.lycee-jean-moulin.fr`."
        },
        {
          "text": "`https://www.lycee-jean-moulin.fr/vie-scolaire/index.html/menu.html`",
          "correct": false,
          "feedback": "Erreur : `index.html` est le fichier de la page courante, non un\ndossier. Il est remplacé par le nom du fichier visé, non\ncomplété."
        },
        {
          "text": "`https://www.lycee-jean-moulin.fr/vie-scolaire/menu.html`",
          "correct": true,
          "feedback": "Bonne réponse : un lien écrit sans nom de domaine est relatif.\nLe navigateur conserve le dossier de la page courante et y\ncherche le fichier indiqué."
        }
      ],
      "explanation": "Un lien relatif se lit à partir de l'adresse de la page qui le\ncontient. Cette écriture permet de déplacer tout un site sans\nréécrire les liens internes."
    },
    {
      "id": "q13",
      "difficulty": 1,
      "skills": [
        "html",
        "definition"
      ],
      "title": "Rôle du langage HTML",
      "statement": "À quoi sert le langage HTML dans une page web ?",
      "options": [
        {
          "text": "À fixer les couleurs, les polices et la disposition des\néléments affichés",
          "correct": false,
          "feedback": "Erreur : la mise en forme est le rôle des feuilles de style. Le\nlangage HTML se charge du contenu et de son organisation."
        },
        {
          "text": "À décrire la structure et le contenu de la page à\nl'aide de balises",
          "correct": true,
          "feedback": "Bonne réponse : les balises délimitent les titres, les\nparagraphes, les images et les liens, et indiquent ainsi la\nnature de chaque partie du contenu."
        },
        {
          "text": "À acheminer la page du serveur jusqu'au navigateur qui\nl'a demandée",
          "correct": false,
          "feedback": "Erreur : l'acheminement est assuré par le protocole HTTP. Le\nlangage HTML est celui dans lequel la page est écrite."
        },
        {
          "text": "À indiquer l'emplacement de la page pour que chacun\npuisse la retrouver",
          "correct": false,
          "feedback": "Erreur : c'est le rôle de l'adresse de la page. Le langage HTML\ndécrit ce que la page contient une fois qu'elle est obtenue."
        }
      ],
      "explanation": "Une page web est un fichier texte écrit en HTML. Les balises y\nmarquent la nature de chaque élément, ce qui permet au navigateur\nde savoir comment le présenter."
    },
    {
      "id": "q14",
      "difficulty": 2,
      "skills": [
        "html",
        "lecture-de-code"
      ],
      "title": "Lecture d'un extrait HTML",
      "statement": "Chloé a écrit l'extrait suivant dans la page du club de robotique.\n\n```html\n<h1>Le club de robotique</h1>\n<p>Nous nous réunissons le <em>mardi</em> à 13 heures.</p>\n```\n\nQue produit cet extrait dans le navigateur ?",
      "options": [
        {
          "text": "Deux paragraphes de même importance, le second\ncontenant le mot « mardi »",
          "correct": false,
          "feedback": "Erreur : la première balise n'est pas celle d'un paragraphe mais\ncelle du titre de plus haut niveau, affiché en gros caractères."
        },
        {
          "text": "Un titre suivi d'un paragraphe, le mot « mardi »\ndevenant un lien cliquable",
          "correct": false,
          "feedback": "Erreur : un lien s'écrit avec la balise `a` et l'attribut\n`href`. La balise `em` ne conduit nulle part, elle met en\nvaleur."
        },
        {
          "text": "Un paragraphe unique où le titre et l'horaire sont\nécrits sur la même ligne",
          "correct": false,
          "feedback": "Erreur : le titre et le paragraphe sont deux blocs distincts.\nIls s'affichent l'un sous l'autre, et non à la suite."
        },
        {
          "text": "Un titre, puis un paragraphe dans lequel le mot\n« mardi » est mis en valeur",
          "correct": true,
          "feedback": "Bonne réponse : `h1` marque le titre principal, `p` délimite un\nparagraphe et `em` met en valeur le mot qu'elle entoure, en\nitalique dans la plupart des navigateurs."
        }
      ],
      "explanation": "Lire un extrait de HTML consiste à reconnaître chaque balise et la\nportion de contenu qu'elle encadre, de la balise ouvrante à la\nbalise fermante."
    },
    {
      "id": "q15",
      "difficulty": 2,
      "skills": [
        "html",
        "lien-hypertexte",
        "lecture-de-code"
      ],
      "title": "Écriture d'un lien",
      "statement": "Karim veut qu'un clic sur les mots « le site du CNES » ouvre la page\nd'adresse `https://cnes.fr`. Quelle écriture convient ?",
      "options": [
        {
          "text": "```html\n<a>https://cnes.fr</a> le site du CNES\n```",
          "correct": false,
          "feedback": "Erreur : sans attribut `href`, la balise ne conduit nulle part.\nUne adresse écrite comme simple texte n'est pas suivie par le\nnavigateur."
        },
        {
          "text": "```html\n<a href=\"le site du CNES\">https://cnes.fr</a>\n```",
          "correct": false,
          "feedback": "Erreur : l'adresse et le texte visible sont intervertis. Le clic\nconduirait vers une ressource nommée « le site du CNES », qui\nn'existe pas."
        },
        {
          "text": "```html\n<a href=\"https://cnes.fr\">le site du CNES</a>\n```",
          "correct": true,
          "feedback": "Bonne réponse : l'adresse visée est portée par l'attribut\n`href`, et le texte cliquable se place entre la balise ouvrante\net la balise fermante."
        },
        {
          "text": "```html\n<lien url=\"https://cnes.fr\">le site du CNES</lien>\n```",
          "correct": false,
          "feedback": "Erreur : ni cette balise ni cet attribut n'existent en HTML. Un\nnavigateur ignore une balise inconnue et affiche seulement le\ntexte qu'elle contient."
        }
      ],
      "explanation": "Un lien hypertexte s'écrit avec la balise `a`. L'attribut `href`\nindique la ressource visée, le contenu de la balise fournit le\ntexte sur lequel le visiteur clique."
    },
    {
      "id": "q16",
      "difficulty": 1,
      "skills": [
        "lien-hypertexte"
      ],
      "title": "Liens entre sites",
      "statement": "Sur le site de son lycée, Alice clique sur un lien qui la conduit\nvers le site d'un musée. Que peut-on en conclure ?",
      "options": [
        {
          "text": "Un lien peut conduire vers une page hébergée par un\ntout autre serveur",
          "correct": true,
          "feedback": "Bonne réponse : c'est le principe du Web. Les pages forment une\ntoile de documents reliés, quels que soient les serveurs qui les\nhébergent."
        },
        {
          "text": "Le musée et le lycée hébergent forcément leurs pages\nsur le même serveur",
          "correct": false,
          "feedback": "Erreur : rien n'impose un hébergement commun. L'adresse inscrite\ndans le lien suffit à désigner n'importe quel serveur du Web."
        },
        {
          "text": "La page du musée a été recopiée dans le site du lycée\nau moment du clic",
          "correct": false,
          "feedback": "Erreur : aucune copie n'a lieu. Le navigateur demande la page\ndirectement au serveur du musée, qui la lui renvoie."
        },
        {
          "text": "Le lien ne fonctionne que si les deux sites emploient\nle même navigateur",
          "correct": false,
          "feedback": "Erreur : un site n'emploie pas de navigateur. Les pages\nrespectent des standards communs, que tout navigateur sait\nafficher."
        }
      ],
      "explanation": "Les liens hypertextes relient des documents répartis sur des\nmilliers de serveurs. C'est cet enchevêtrement de liens qui donne\nau Web sa forme de toile."
    },
    {
      "id": "q17",
      "difficulty": 1,
      "skills": [
        "css",
        "definition"
      ],
      "title": "Rôle d'une feuille de style",
      "statement": "À quoi sert une feuille de style CSS ?",
      "options": [
        {
          "text": "À décrire la structure de la page en délimitant les\ntitres et les paragraphes",
          "correct": false,
          "feedback": "Erreur : la structure est décrite par les balises HTML. La\nfeuille de style intervient ensuite, pour dire comment ces\néléments doivent apparaître."
        },
        {
          "text": "À décrire la présentation de la page, ses couleurs\net ses tailles",
          "correct": true,
          "feedback": "Bonne réponse : une feuille de style rassemble des règles qui\nfixent l'apparence des éléments déjà décrits par le fichier\nHTML."
        },
        {
          "text": "À enregistrer les préférences d'affichage choisies par\nchaque visiteur",
          "correct": false,
          "feedback": "Erreur : les préférences d'un visiteur sont conservées par son\nnavigateur. Une feuille de style est écrite par l'auteur du\nsite, pour tous."
        },
        {
          "text": "À conserver les pages déjà consultées afin de les\nrouvrir plus rapidement",
          "correct": false,
          "feedback": "Erreur : cette conservation est le rôle du cache du navigateur.\nUne feuille de style ne mémorise aucune page."
        }
      ],
      "explanation": "Le HTML dit ce que sont les éléments, le CSS dit à quoi ils\nressemblent. Cette séparation de la structure et de la présentation\nest un principe fondamental du Web."
    },
    {
      "id": "q18",
      "difficulty": 2,
      "skills": [
        "css",
        "lecture-de-code"
      ],
      "title": "Lecture d'une règle CSS",
      "statement": "La feuille de style du site contient la règle suivante.\n\n```css\np {\n  color: darkblue;\n  font-size: 18px;\n}\n```\n\nQue fait cette règle ?",
      "options": [
        {
          "text": "Elle écrit tous les paragraphes en bleu foncé, à la\ntaille indiquée",
          "correct": true,
          "feedback": "Bonne réponse : le sélecteur `p` vise tous les éléments de ce\ntype, et les deux déclarations fixent la couleur du texte et la\ntaille des caractères."
        },
        {
          "text": "Elle écrit le premier paragraphe de la page en bleu\nfoncé et en plus gros",
          "correct": false,
          "feedback": "Erreur : un sélecteur d'élément ne choisit pas une occurrence\nparticulière. Tous les paragraphes de la page sont concernés."
        },
        {
          "text": "Elle ajoute un paragraphe en bleu foncé au début de\nchaque page du site",
          "correct": false,
          "feedback": "Erreur : une règle de style ne crée aucun contenu. Elle met en\nforme les éléments déjà écrits dans le fichier HTML."
        },
        {
          "text": "Elle propose un style que le visiteur peut choisir\nd'appliquer ou non",
          "correct": false,
          "feedback": "Erreur : le style est appliqué par le navigateur dès le\nchargement de la page. Le visiteur n'a rien à valider."
        }
      ],
      "explanation": "Une règle CSS se compose d'un sélecteur, qui désigne les éléments\nvisés, et d'un bloc de déclarations, chacune associant une valeur à\nune propriété."
    },
    {
      "id": "q19",
      "difficulty": 2,
      "skills": [
        "css",
        "lecture-de-code"
      ],
      "title": "Sélecteur de classe",
      "statement": "Une page contient plusieurs paragraphes. L'un d'eux est écrit\n`<p class=\"important\">Attention</p>`. Quelle règle met ce seul\nparagraphe en rouge ?",
      "options": [
        {
          "text": "```css\np { color: red; }\n```",
          "correct": false,
          "feedback": "Erreur : ce sélecteur vise tous les paragraphes de la page, y\ncompris ceux qui ne portent pas la classe `important`."
        },
        {
          "text": "```css\n#important { color: red; }\n```",
          "correct": false,
          "feedback": "Erreur : le dièse désigne un identifiant unique, déclaré par\nl'attribut `id`. Ici, le paragraphe porte une classe."
        },
        {
          "text": "```css\n.important { color: red; }\n```",
          "correct": true,
          "feedback": "Bonne réponse : un sélecteur de classe s'écrit avec un point\nsuivi du nom de la classe. Il vise tous les éléments qui portent\ncette classe."
        },
        {
          "text": "```css\np important { color: red; }\n```",
          "correct": false,
          "feedback": "Erreur : le point manque devant le nom de la classe. Écrite\nainsi, la règle cherche un élément nommé `important` dans un\nparagraphe, ce qui n'existe pas."
        }
      ],
      "explanation": "Les sélecteurs les plus courants désignent un type d'élément par son\nnom, une classe par un point, un identifiant par un dièse. Une\nclasse peut être portée par plusieurs éléments."
    },
    {
      "id": "q20",
      "difficulty": 3,
      "skills": [
        "css",
        "html",
        "separation-structure-presentation"
      ],
      "title": "Feuille de style commune",
      "statement": "Le site du lycée compte soixante pages qui partagent la même feuille\nde style. Quel est l'intérêt principal de cette organisation ?",
      "options": [
        {
          "text": "Les pages s'affichent sans avoir à contacter le serveur\nune seconde fois",
          "correct": false,
          "feedback": "Erreur : une feuille de style externe est un fichier à part, que\nle navigateur doit justement demander au serveur avant de\nl'appliquer."
        },
        {
          "text": "Les moteurs de recherche classent mieux les sites dotés\nd'une feuille commune",
          "correct": false,
          "feedback": "Erreur : aucun moteur ne récompense la façon dont les styles\nsont rangés. Le classement repose sur le contenu et sur les\nliens reçus."
        },
        {
          "text": "Le contenu des pages devient impossible à recopier par\nun autre site",
          "correct": false,
          "feedback": "Erreur : une feuille de style ne protège rien. Le code d'une\npage reste lisible par quiconque la reçoit."
        },
        {
          "text": "Changer la présentation des soixante pages ne demande\nqu'une seule modification",
          "correct": true,
          "feedback": "Bonne réponse : la structure reste dans les fichiers HTML et la\nprésentation est rassemblée dans un seul fichier, où une retouche\nvaut pour tout le site."
        }
      ],
      "explanation": "Séparer la structure de la présentation facilite la maintenance : le\ncontenu peut être modifié sans toucher à l'apparence, et l'apparence\npeut être revue sans réécrire les pages."
    },
    {
      "id": "q21",
      "difficulty": 1,
      "skills": [
        "moteur-recherche",
        "indexation"
      ],
      "title": "Source des résultats",
      "statement": "Quand Hugo lance une recherche, où le moteur cherche-t-il les pages\nqu'il lui propose ?",
      "options": [
        {
          "text": "Dans l'ensemble du Web, qu'il parcourt entièrement au\nmoment de la recherche",
          "correct": false,
          "feedback": "Erreur : parcourir des milliards de pages demanderait des\nsemaines. L'exploration a lieu à l'avance, la recherche ne fait\nque consulter son résultat."
        },
        {
          "text": "Dans l'index qu'il a constitué à l'avance en parcourant\nles pages du Web",
          "correct": true,
          "feedback": "Bonne réponse : des robots explorent le Web en permanence et\nrangent les mots rencontrés dans un index, seul consulté au\nmoment de la requête."
        },
        {
          "text": "Dans l'historique des pages que Hugo a déjà consultées\nsur son ordinateur",
          "correct": false,
          "feedback": "Erreur : l'historique ne contient que les pages déjà vues. Un\nmoteur propose justement des pages inconnues du visiteur."
        },
        {
          "text": "Dans la liste des sites qui ont payé pour apparaître\ndans ses résultats",
          "correct": false,
          "feedback": "Erreur : les emplacements achetés sont signalés à part. Les\nrésultats ordinaires proviennent de l'index, sans contrepartie\nfinancière."
        }
      ],
      "explanation": "Un moteur de recherche travaille en deux temps : l'exploration du\nWeb et la construction d'un index d'un côté, la réponse aux\nrequêtes de l'autre."
    },
    {
      "id": "q22",
      "difficulty": 2,
      "skills": [
        "indexation",
        "moteur-recherche"
      ],
      "title": "Découverte des pages",
      "statement": "Comment un robot d'indexation découvre-t-il de nouvelles pages à\najouter à l'index ?",
      "options": [
        {
          "text": "Il suit les liens rencontrés dans les pages qu'il a\ndéjà visitées",
          "correct": true,
          "feedback": "Bonne réponse : le robot part de pages connues et suit leurs\nliens de proche en proche. Le Web s'explore comme une toile, de\nlien en lien."
        },
        {
          "text": "Il essaie une à une toutes les adresses possibles\njusqu'à trouver des pages",
          "correct": false,
          "feedback": "Erreur : le nombre d'adresses imaginables est bien trop grand\npour être épuisé. L'exploration suit les liens, elle ne tire pas\nau hasard."
        },
        {
          "text": "Il interroge les fournisseurs d'accès, qui lui\ntransmettent la liste des sites",
          "correct": false,
          "feedback": "Erreur : un fournisseur d'accès achemine des données. Il ne\ntient aucun catalogue des pages publiées sur le Web."
        },
        {
          "text": "Il attend que les visiteurs lui signalent les pages\nqu'ils ont consultées",
          "correct": false,
          "feedback": "Erreur : un auteur peut soumettre son site, mais l'essentiel de\nl'index provient de l'exploration automatique, à laquelle les\nvisiteurs ne participent pas."
        }
      ],
      "explanation": "Les robots d'indexation parcourent le Web en suivant les liens\nhypertextes. Une page vers laquelle aucun lien ne pointe a donc peu\nde chances d'être découverte."
    },
    {
      "id": "q23",
      "difficulty": 2,
      "skills": [
        "classement",
        "moteur-recherche"
      ],
      "title": "Classement des résultats",
      "statement": "Deux pages contiennent exactement les mêmes mots. Sur quoi le moteur\ns'appuie-t-il pour placer l'une avant l'autre ?",
      "options": [
        {
          "text": "Sur l'ordre alphabétique des noms de domaine des deux\nsites concernés",
          "correct": false,
          "feedback": "Erreur : aucun moteur ne classe par ordre alphabétique. L'ordre\ndes résultats serait alors le même pour toutes les recherches."
        },
        {
          "text": "Sur la date de création des sites, la plus ancienne\npassant devant l'autre",
          "correct": false,
          "feedback": "Erreur : l'ancienneté ne suffit pas. Une page récente très citée\npeut devancer une page ancienne que personne ne cite."
        },
        {
          "text": "Sur le nombre total de pages que contient chacun des\ndeux sites concernés",
          "correct": false,
          "feedback": "Erreur : la taille d'un site ne garantit pas sa qualité. Une\npage isolée mais très citée peut figurer en tête."
        },
        {
          "text": "Sur la popularité des pages, mesurée par les liens\nqu'elles reçoivent",
          "correct": true,
          "feedback": "Bonne réponse : un lien reçu vaut comme une recommandation, et\nil compte d'autant plus qu'il provient d'une page elle-même très\ncitée."
        }
      ],
      "explanation": "Le classement combine la pertinence, c'est-à-dire l'adéquation du\ncontenu à la requête, et la popularité, calculée à partir des liens\nreçus par chaque page."
    },
    {
      "id": "q24",
      "difficulty": 2,
      "skills": [
        "moteur-recherche",
        "esprit-critique"
      ],
      "title": "Liens sponsorisés",
      "statement": "En tête de sa page de résultats, Sofia voit des liens accompagnés de\nla mention « annonce ». Que signifie cette mention ?",
      "options": [
        {
          "text": "Le moteur a jugé ce site le plus pertinent pour la\nrecherche effectuée",
          "correct": false,
          "feedback": "Erreur : c'est le sens des résultats ordinaires, calculés par le\nmoteur. Une annonce est achetée, elle n'est pas classée sur sa\npertinence."
        },
        {
          "text": "Le site a été vérifié par le moteur avant d'être\nproposé aux visiteurs",
          "correct": false,
          "feedback": "Erreur : aucun contrôle de sérieux n'accompagne l'achat d'un\nemplacement. Le moteur vérifie le paiement, non la qualité du\nsite."
        },
        {
          "text": "L'annonceur a payé pour que son lien figure à cette\nplace dans la page",
          "correct": true,
          "feedback": "Bonne réponse : ces emplacements sont vendus. Leur position ne\ndit rien de la qualité de la page, seulement du prix accepté par\nl'annonceur."
        },
        {
          "text": "Le lien renvoie vers une page qui contient de la\npublicité pour un produit",
          "correct": false,
          "feedback": "Erreur : la mention porte sur le lien lui-même, qui est une\npublicité, et non sur le contenu de la page vers laquelle il\nconduit."
        }
      ],
      "explanation": "Les moteurs de recherche se financent par la publicité. Distinguer\nles emplacements achetés des résultats calculés fait partie de la\nlecture critique d'une page de résultats."
    },
    {
      "id": "q25",
      "difficulty": 3,
      "skills": [
        "moteur-recherche",
        "traces",
        "esprit-critique"
      ],
      "title": "Résultats personnalisés",
      "statement": "Depuis la même salle, Lina et Théo tapent exactement la même requête\net obtiennent des résultats différents. Comment l'expliquer ?",
      "options": [
        {
          "text": "Le moteur adapte le classement aux traces laissées par\nchaque utilisateur",
          "correct": true,
          "feedback": "Bonne réponse : l'historique, le compte connecté, la langue et\nle lieu servent à personnaliser les réponses. Deux personnes\nn'ont pas le même Web sous les yeux."
        },
        {
          "text": "Le moteur tire ses résultats au hasard parmi les pages\nde son index",
          "correct": false,
          "feedback": "Erreur : le classement est calculé, non tiré au sort. Une même\nrequête posée deux fois de suite donne des résultats très\nproches."
        },
        {
          "text": "Chaque ordinateur possède son propre index, constitué\nau fil des visites",
          "correct": false,
          "feedback": "Erreur : l'index est construit et conservé par le moteur sur ses\npropres serveurs. L'ordinateur du visiteur n'en détient aucune\npart."
        },
        {
          "text": "Les résultats dépendent du navigateur, chacun ayant\nson propre classement",
          "correct": false,
          "feedback": "Erreur : le navigateur n'établit aucun classement. Il affiche la\npage de résultats telle que le moteur la lui a renvoyée."
        }
      ],
      "explanation": "La personnalisation enferme peu à peu chaque utilisateur dans des\nrésultats conformes à ses habitudes. Varier ses sources et comparer\nles réponses obtenues reste indispensable."
    },
    {
      "id": "q26",
      "difficulty": 3,
      "skills": [
        "indexation",
        "moteur-recherche"
      ],
      "title": "Page absente des résultats",
      "statement": "Le club théâtre a mis une page en ligne, mais aucune recherche ne la\nfait apparaître. Quelle explication est la plus probable ?",
      "options": [
        {
          "text": "Elle est trop récente, car un moteur n'indexe que les\npages vieilles d'un an",
          "correct": false,
          "feedback": "Erreur : aucune ancienneté minimale n'est exigée. Une page bien\nreliée peut être indexée en quelques heures."
        },
        {
          "text": "Aucun lien ne conduit vers elle, et le robot ne l'a\ndonc jamais rencontrée",
          "correct": true,
          "feedback": "Bonne réponse : une page que rien ne cite reste invisible tant\nqu'elle n'a pas été soumise au moteur, puisque l'exploration se\nfait de lien en lien."
        },
        {
          "text": "Personne ne l'a encore cherchée, or un moteur n'indexe\nque les pages demandées",
          "correct": false,
          "feedback": "Erreur : l'indexation ne dépend pas des recherches des\nvisiteurs. Un robot explore le Web en continu, sans attendre la\nmoindre requête."
        },
        {
          "text": "Elle est trop courte, car un moteur écarte les pages de\nmoins de mille mots",
          "correct": false,
          "feedback": "Erreur : aucune longueur minimale n'est requise. Une page brève\nfigure sans difficulté dans les résultats si elle est connue du\nmoteur."
        }
      ],
      "explanation": "Être en ligne ne suffit pas à être trouvable. Une page n'apparaît\ndans les résultats qu'après avoir été découverte par un robot, puis\nrangée dans l'index du moteur."
    },
    {
      "id": "q27",
      "difficulty": 1,
      "skills": [
        "cookies",
        "definition"
      ],
      "title": "Définition d'un cookie",
      "statement": "Qu'est-ce qu'un cookie déposé par un site que l'on visite ?",
      "options": [
        {
          "text": "Un programme installé sur la machine pour accélérer\nl'affichage des pages",
          "correct": false,
          "feedback": "Erreur : un cookie ne contient aucune instruction et ne\ns'exécute pas. C'est une donnée que le navigateur conserve puis\nrenvoie."
        },
        {
          "text": "Une copie de la page conservée pour la consulter sans\nconnexion à Internet",
          "correct": false,
          "feedback": "Erreur : cette copie est celle du cache du navigateur. Un cookie\ngarde une information courte, pas le contenu de la page."
        },
        {
          "text": "Un petit fichier enregistré par le navigateur, que le\nsite pourra relire ensuite",
          "correct": true,
          "feedback": "Bonne réponse : le serveur demande au navigateur de conserver\nune information, que celui-ci lui renvoie lors des visites\nsuivantes."
        },
        {
          "text": "Un message adressé au fournisseur d'accès pour lui\nsignaler la visite du site",
          "correct": false,
          "feedback": "Erreur : le fournisseur d'accès n'est pas destinataire de ces\ndonnées. Le cookie reste sur la machine du visiteur et repart\nvers le site."
        }
      ],
      "explanation": "Les cookies servent d'abord à reconnaître un visiteur d'une page à\nl'autre, par exemple pour garder une connexion ouverte ou le\ncontenu d'un panier."
    },
    {
      "id": "q28",
      "difficulty": 3,
      "skills": [
        "cookies",
        "traces",
        "vie-privee"
      ],
      "title": "Publicité ciblée",
      "statement": "Après avoir regardé des chaussures sur un site marchand, Rayan voit\ndes publicités pour ces chaussures sur un tout autre site. Pourquoi ?",
      "options": [
        {
          "text": "Le site marchand a communiqué l'adresse électronique de\nRayan à l'autre site",
          "correct": false,
          "feedback": "Erreur : aucun échange d'adresse n'est nécessaire. Le suivi\nrepose sur un identifiant déposé dans le navigateur, non sur une\nidentité connue."
        },
        {
          "text": "Le navigateur transmet l'historique complet de Rayan à\nchaque site consulté",
          "correct": false,
          "feedback": "Erreur : le navigateur ne communique pas l'historique. Un site\nne reçoit que les cookies qui le concernent ou qui concernent\nles tiers qu'il appelle."
        },
        {
          "text": "Les deux sites appartiennent nécessairement à la même\nentreprise commerciale",
          "correct": false,
          "feedback": "Erreur : les deux sites peuvent être totalement indépendants. Il\nsuffit qu'ils fassent appel à la même régie publicitaire."
        },
        {
          "text": "Un même service publicitaire est présent sur les deux\nsites et suit le visiteur",
          "correct": true,
          "feedback": "Bonne réponse : les deux pages chargent des éléments venus du\nmême tiers, qui reconnaît le visiteur grâce à son cookie et\nrecoupe ainsi ses visites."
        }
      ],
      "explanation": "Les cookies déposés par des tiers permettent de suivre un même\nvisiteur d'un site à l'autre. Le refus de ces cookies et\nl'effacement régulier des traces limitent ce suivi."
    },
    {
      "id": "q29",
      "difficulty": 2,
      "skills": [
        "droit-auteur"
      ],
      "title": "Réutilisation d'une photographie",
      "statement": "Pour un exposé publié sur le site du lycée, Jade veut reprendre une\nphotographie trouvée sur le Web, sans mention particulière. Que dit\nle droit ?",
      "options": [
        {
          "text": "La photographie est protégée par défaut et son auteur\ndoit donner son accord",
          "correct": true,
          "feedback": "Bonne réponse : une œuvre est protégée dès sa création, sans\ndémarche ni mention. Sans autorisation ou licence explicite, la\nreprise est interdite."
        },
        {
          "text": "Une image accessible à tous est libre de droits dès\nlors que l'on cite le site",
          "correct": false,
          "feedback": "Erreur : être visible n'est pas être libre. Citer sa source est\nune obligation, mais elle ne remplace pas l'accord de l'auteur."
        },
        {
          "text": "L'usage est libre tant qu'il s'agit d'un travail\nscolaire sans but commercial",
          "correct": false,
          "feedback": "Erreur : le cadre scolaire n'ouvre pas un droit général de\npublication. Mise en ligne sur le site du lycée, l'image devient\naccessible à tous."
        },
        {
          "text": "L'usage est libre si l'image est modifiée avant d'être\npubliée de nouveau",
          "correct": false,
          "feedback": "Erreur : transformer une œuvre ne la rend pas libre. Le droit de\nl'auteur porte aussi sur les modifications apportées à son\ntravail."
        }
      ],
      "explanation": "Toute production originale est protégée par le droit d'auteur, sans\nformalité. Pour illustrer un travail destiné à être publié, on\ncherche des images sous licence libre ou l'on demande l'autorisation."
    },
    {
      "id": "q30",
      "difficulty": 3,
      "skills": [
        "droit-auteur",
        "licences"
      ],
      "title": "Licence avec attribution",
      "statement": "Une photographie est publiée sous une licence Creative Commons\nportant la seule condition d'attribution. Que peut en faire Yasmine ?",
      "options": [
        {
          "text": "La réutiliser librement, sans avoir à mentionner qui\nque ce soit",
          "correct": false,
          "feedback": "Erreur : la mention de l'auteur est précisément la condition\nposée par cette licence, et elle est obligatoire."
        },
        {
          "text": "La réutiliser, à condition de citer l'auteur comme\nil le demande",
          "correct": true,
          "feedback": "Bonne réponse : l'auteur autorise à l'avance la réutilisation,\ny compris modifiée, et n'exige en retour que la mention de son\nnom."
        },
        {
          "text": "La consulter seulement, la licence interdisant toute\nreproduction",
          "correct": false,
          "feedback": "Erreur : une licence de ce type existe justement pour autoriser\nla reproduction. Sans licence, l'œuvre resterait sous le régime\nordinaire."
        },
        {
          "text": "La réutiliser uniquement si elle n'en modifie aucun\ndétail",
          "correct": false,
          "feedback": "Erreur : cette restriction correspond à une autre condition, qui\ninterdit les modifications. Ici, seule l'attribution est exigée."
        }
      ],
      "explanation": "Les licences libres permettent à un auteur d'autoriser à l'avance\ncertains usages de son œuvre. Chaque condition ajoutée, attribution,\nusage non commercial ou interdiction de modifier, restreint ce qui\nest permis."
    }
  ]
}