<?xml version="1.0" encoding="UTF-8"?>
<quiz>
<question type="category">
  <category>
    <text>$course$/QCM de NSI/Première/Structure HTML</text>
  </category>
  <info format="html">
    <text><![CDATA[<p>Langage HTML : balises, attributs, structure d'une page<br/>
(doctype, html, head, body), balises sémantiques, en-têtes,<br/>
paragraphes, listes, liens, images, tableaux.</p>]]></text>
  </info>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q01 : Que signifie HTML ?</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Que signifie l'acronyme <strong>HTML</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>« Hypertext » désigne les liens ; « markup »<br/>
indique qu'on utilise des balises ; « language »<br/>
qu'il s'agit d'un langage formel (mais pas un<br/>
langage de programmation au sens strict).</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>HyperText Markup Language</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : HTML est un <strong>langage de balisage</strong> (markup) pour structurer des<br/>
documents hypertexte (avec liens). Inventé<br/>
par Tim Berners-Lee en 1991.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>High Tech Modern Language</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Cette expression n'a<br/>
aucune signification<br/>
historique. Le sigle HTML<br/>
décrit précisément la<br/>
nature du langage : un<br/>
balisage hypertexte.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Home Tool Markup Language</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : nom incorrect.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Hypertext Modern Layout</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : nom incorrect.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q02 : Balise HTML</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quelle est la <strong>forme générale</strong> d'une balise HTML ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Les balises sont encadrées par &lt; et &gt;. La<br/>
balise fermante a un / en plus. Le HTML<br/>
tolère certaines erreurs de fermeture, mais<br/>
c'est une mauvaise pratique.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>balise(contenu)</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : pas de parenthèses.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>{balise contenu}</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : pas d'accolades en HTML.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>[balise: contenu]</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : pas de crochets.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>&lt;balise&gt;contenu&lt;/balise&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : balise ouvrante, contenu,<br/>
balise fermante. Certaines balises sont<br/>
auto-fermantes comme &lt;img /&gt; ou &lt;br /&gt;.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q03 : Doctype</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Que doit contenir la <strong>première ligne</strong> d'un<br/>
document HTML moderne ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>&lt;!DOCTYPE html&gt; est la déclaration HTML5<br/>
simplifiée. Les anciennes versions (HTML4,<br/>
XHTML) avaient des doctypes plus longs.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;meta charset="utf-8"&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la déclaration d'encodage se place<br/>
très tôt, mais à l'intérieur de &lt;head&gt;,<br/>
pas en première ligne du fichier.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;head&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : &lt;head&gt; vient à l'intérieur de<br/>
&lt;html&gt;.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>&lt;!DOCTYPE html&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : cette ligne déclare au<br/>
navigateur que la page suit le standard<br/>
HTML actuel. Sans elle, le rendu de la page<br/>
peut devenir imprévisible.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;html lang="fr"&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la balise &lt;html&gt; (avec ou sans<br/>
attribut lang) vient <strong>après</strong> la<br/>
déclaration de doctype, qui doit être la<br/>
toute première ligne.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q04 : Structure d'une page</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quelle est la <strong>structure minimale</strong> d'une page<br/>
HTML5 ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>&lt;head&gt; contient titre (&lt;title&gt;), encodage<br/>
(&lt;meta charset="utf-8"&gt;), feuilles de style<br/>
(&lt;link&gt;), scripts (&lt;script&gt;). &lt;body&gt;<br/>
contient le contenu visible.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>`<code>html<br/>
&lt;html&gt;<br/>
  &lt;!DOCTYPE html&gt;<br/>
  &lt;head&gt;...&lt;/head&gt;<br/>
  &lt;body&gt;...&lt;/body&gt;<br/>
&lt;/html&gt;<br/>
</code>`</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la déclaration &lt;!DOCTYPE html&gt;<br/>
doit être la <strong>première ligne</strong> du fichier,<br/>
avant &lt;html&gt; ; placée à l'intérieur, elle<br/>
n'est plus reconnue et le navigateur bascule<br/>
en mode de compatibilité.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>`<code>html<br/>
&lt;!DOCTYPE html&gt;<br/>
  &lt;head&gt;...&lt;/head&gt;<br/>
  &lt;body&gt;...&lt;/body&gt;<br/>
</code>`</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : il manque l'élément racine &lt;html&gt;,<br/>
qui doit englober &lt;head&gt; et &lt;body&gt;.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>`<code>html<br/>
&lt;!DOCTYPE html&gt;<br/>
&lt;html&gt;<br/>
  &lt;head&gt;...&lt;/head&gt;<br/>
  &lt;body&gt;...&lt;/body&gt;<br/>
&lt;/html&gt;<br/>
</code>`</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : &lt;head&gt; (méta-données :<br/>
titre, encodage, styles), &lt;body&gt; (contenu<br/>
visible). Tous deux dans &lt;html&gt;.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>`<code>html<br/>
&lt;html&gt;<br/>
  &lt;head&gt;...&lt;/head&gt;<br/>
  &lt;body&gt;...&lt;/body&gt;<br/>
&lt;/html&gt;<br/>
</code>`</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : il manque la première ligne<br/>
&lt;!DOCTYPE html&gt;, qui déclare le type de<br/>
document et garantit un rendu conforme au<br/>
standard.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q05 : Titres</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quelle balise produit un titre de <strong>niveau 1</strong><br/>
(le plus grand) ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Hiérarchie : &lt;h1&gt; à &lt;h6&gt;. Importante pour<br/>
l'accessibilité et le référencement. Ne pas<br/>
sauter de niveau (de &lt;h1&gt; à &lt;h3&gt;).</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;title&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : &lt;title&gt; est dans &lt;head&gt; et<br/>
définit le titre de l'onglet/de la page,<br/>
pas un titre visible.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;title1&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : balise inexistante.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;head&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : &lt;head&gt; est la zone des<br/>
méta-données.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>&lt;h1&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : &lt;h1&gt; (heading level 1,<br/>
titre de niveau 1) à &lt;h6&gt; (level 6).<br/>
Convention : un seul &lt;h1&gt; par page (le<br/>
titre principal).</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q06 : Paragraphe</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quelle balise délimite un <strong>paragraphe</strong> de texte ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>&lt;p&gt; est l'une des balises les plus utilisées.<br/>
Pour un saut de ligne simple sans nouveau<br/>
paragraphe, utiliser &lt;br&gt;.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;text&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : balise inexistante en HTML standard.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>&lt;p&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : &lt;p&gt; (paragraph). Le<br/>
navigateur ajoute automatiquement un<br/>
espacement avant et après.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;para&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : balise inexistante.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;paragraph&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : balise inexistante. Le nom est<br/>
abrégé en &lt;p&gt;.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q07 : Lien hypertexte</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quelle est la syntaxe d'un <strong>lien</strong> vers<br/>
https://example.com ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Attribut target="_blank" pour ouvrir dans un<br/>
nouvel onglet. Pour un lien interne (vers une<br/>
ancre dans la page) : &lt;a href="#section1"&gt;.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;href="https://example.com"&gt;texte&lt;/href&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : pas de balise &lt;href&gt;. C'est un<br/>
attribut.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>&lt;a href="https://example.com"&gt;texte&lt;/a&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : &lt;a&gt; (anchor) avec<br/>
l'attribut href (hypertext reference).<br/>
Le texte entre les balises est le texte<br/>
cliquable.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;url="https://example.com"&gt;texte&lt;/url&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : pas de balise &lt;url&gt; non plus.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;link href="https://example.com"&gt;texte&lt;/link&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : &lt;link&gt; est utilisée dans &lt;head&gt;<br/>
pour les feuilles de style, pas pour les<br/>
liens visibles.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q08 : Image</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quelle est la balise pour afficher une <strong>image</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>L'attribut alt est <strong>obligatoire</strong> pour<br/>
l'accessibilité (lecteurs d'écran). Sans alt,<br/>
la page n'est pas accessible.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>&lt;img src="..." alt="..."&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : &lt;img&gt; avec src (chemin)<br/>
et alt (texte alternatif pour<br/>
l'accessibilité et si l'image ne charge<br/>
pas). Balise auto-fermante.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;picture src="..."&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : &lt;picture&gt; ne s'utilise pas ainsi<br/>
pour afficher une image ; la balise attendue<br/>
est &lt;img&gt;, avec l'attribut src.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;image src="..."&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : balise inexistante, le nom est<br/>
abrégé en &lt;img&gt;. Piège : le parseur HTML<br/>
corrige silencieusement &lt;image&gt; en<br/>
&lt;img&gt;, l'image s'affiche donc quand même<br/>
si on teste dans un navigateur.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;src="..."&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : src est un attribut, pas une<br/>
balise.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q09 : Liste non ordonnée</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quelle balise crée une <strong>liste à puces</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Mnémotechnique : <strong>u</strong> = unordered (puces),<br/>
<strong>o</strong> = ordered (numéros). Les deux contiennent<br/>
des &lt;li&gt;.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;list&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : balise inexistante.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>&lt;ul&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : &lt;ul&gt; (<em>unordered list</em>)<br/>
contient des &lt;li&gt; (<em>list item</em>).<br/>
Affichage avec puces par défaut.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;ol&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : &lt;ol&gt; (<em>ordered list</em>) est une<br/>
liste <strong>ordonnée</strong> (numérotée).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;bullet&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : balise inexistante.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q10 : Attributs</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Dans &lt;a href="page.html"&gt;lien&lt;/a&gt;, qu'est-ce<br/>
que href ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Attributs courants : id, class, style,<br/>
href, src, alt. La syntaxe est toujours<br/>
attribut="valeur" à l'intérieur de la balise<br/>
ouvrante.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Une balise imbriquée dans &lt;a&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : href figure à l'intérieur de la<br/>
balise ouvrante, ce n'est pas une balise<br/>
en soi.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Une fonction appelée au clic</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Une fonction est une<br/>
construction propre aux<br/>
langages de programmation.<br/>
En HTML, on ne définit<br/>
pas de fonctions ; on<br/>
décrit la structure d'un<br/>
document.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Un attribut de la balise &lt;a&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : un attribut a la forme<br/>
nom="valeur" et complète l'information<br/>
de la balise.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Une variable JavaScript</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Une variable JavaScript<br/>
appartient au langage<br/>
de programmation, pas<br/>
au balisage HTML. Un<br/>
attribut HTML décrit<br/>
quant à lui la balise<br/>
dans laquelle il figure.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q12 : div vs span</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quelle est la différence entre &lt;div&gt; et<br/>
&lt;span&gt; ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Tous les éléments HTML ont une nature : <strong>bloc</strong><br/>
(par défaut sur une nouvelle ligne) ou <strong>inline</strong><br/>
(dans le flux). On peut changer cela en CSS<br/>
avec display: block; ou display: inline;.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>&lt;div&gt; est un conteneur de bloc, &lt;span&gt; un conteneur en ligne</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : distinction fondamentale en<br/>
HTML/CSS. &lt;div&gt; est utilisé pour<br/>
structurer des sections ; &lt;span&gt; pour<br/>
mettre en forme une portion de texte au<br/>
sein d'une phrase, dans le flux.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>La balise &lt;div&gt; est désormais totalement obsolète</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : très utilisé.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;span&gt; ne peut s'utiliser que dans l'en-tête &lt;head&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : &lt;span&gt; s'utilise dans &lt;body&gt;,<br/>
au cœur du contenu visible.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Aucune, les deux balises sont interchangeables</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : leur comportement d'affichage<br/>
diffère fondamentalement (bloc contre<br/>
en ligne).</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q13 : Encodage</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>À quoi sert<br/>
&lt;meta charset="utf-8"&gt; dans &lt;head&gt; ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>UTF-8 est aujourd'hui le standard universel.<br/>
Toujours le déclarer en première ligne du<br/>
&lt;head&gt; pour garantir un affichage correct<br/>
des caractères spéciaux.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>À indiquer l'encodage des caractères du document</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : ici l'encodage UTF-8. Sans<br/>
cette déclaration, le navigateur peut<br/>
interpréter les caractères accentués<br/>
différemment (par exemple, voir « cafÃ© »<br/>
au lieu de « café » : les deux octets UTF-8<br/>
du « é » sont lus comme deux caractères<br/>
latin-1).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>À définir la couleur de fond de la page entière</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : aucun rapport avec les couleurs<br/>
(c'est CSS).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>À activer l'exécution du JavaScript dans la page</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>JavaScript s'active par<br/>
la balise &lt;script&gt;. La<br/>
balise &lt;meta charset&gt;<br/>
ne joue aucun rôle dans<br/>
l'exécution du code, elle<br/>
précise uniquement le jeu<br/>
de caractères du document.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>À cacher la page aux moteurs de recherche</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est &lt;meta name="robots"<br/>
content="noindex"&gt;.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q14 : class et id</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quelle est la différence entre les attributs<br/>
class et id ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Bonne pratique : utiliser surtout class pour<br/>
le style ; id pour les ancres et les<br/>
éléments uniques nécessitant une référence<br/>
JavaScript.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>L'attribut id ne fonctionne plus du tout en HTML5</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : id fonctionne parfaitement en<br/>
HTML5 (ancres, JavaScript, CSS).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>id est unique, class peut viser plusieurs éléments</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : id identifie un seul<br/>
élément (par exemple id="header-principal"),<br/>
class regroupe des éléments partageant un<br/>
style (par exemple class="bouton").</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Aucune, ce sont rigoureusement deux synonymes</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la différence est importante,<br/>
l'unicité de id dans la page.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>class est obsolète et remplacé par id en HTML5</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : class reste l'un des attributs<br/>
les plus utilisés, notamment pour le style.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q15 : Tableau</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quelles balises HTML structurent un <strong>tableau</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Aujourd'hui, on n'utilise plus les tableaux<br/>
pour la mise en page ; ils sont réservés aux<br/>
données réellement tabulaires. La mise en<br/>
page relève du CSS.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Les balises &lt;spreadsheet&gt;, &lt;line&gt; et &lt;column&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : balises inexistantes.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;grid&gt;, &lt;row&gt;, &lt;cell&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : balises inexistantes.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>La balise &lt;table&gt; toute seule, sans balises internes</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : il faut aussi &lt;tr&gt; et &lt;td&gt; (ou<br/>
&lt;th&gt;) pour avoir un contenu.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>&lt;table&gt;, &lt;tr&gt;, &lt;td&gt; et &lt;th&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : structure standard, avec<br/>
&lt;tr&gt; (<em>table row</em>) pour les lignes,<br/>
&lt;td&gt; (<em>table data</em>) pour les cellules et<br/>
&lt;th&gt; (<em>table header</em>) pour les en-têtes<br/>
(gras et centré par défaut). &lt;thead&gt;,<br/>
&lt;tbody&gt;, &lt;tfoot&gt; pour les groupements.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q16 : Imbrication correcte</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Lequel des codes suivants est <strong>incorrect</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Règles d'imbrication HTML : un bloc peut<br/>
contenir des inlines, mais pas l'inverse en<br/>
général. &lt;p&gt; ne peut pas contenir de bloc<br/>
(ni un autre &lt;p&gt;).</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>`<code>html<br/>
&lt;ul&gt;&lt;li&gt;élément&lt;/li&gt;&lt;/ul&gt;<br/>
</code>`</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Correct : &lt;li&gt; dans &lt;ul&gt;.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>`<code>html<br/>
&lt;a href="x"&gt;&lt;strong&gt;texte&lt;/strong&gt;&lt;/a&gt;<br/>
</code>`</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Correct : un inline dans un autre inline.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>`<code>html<br/>
&lt;p&gt;Voici un &lt;strong&gt;mot&lt;/strong&gt; important.&lt;/p&gt;<br/>
</code>`</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Correct : un élément inline (&lt;strong&gt;)<br/>
dans un bloc (&lt;p&gt;).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>`<code>html<br/>
&lt;p&gt;Texte &lt;p&gt;imbriqué&lt;/p&gt;.&lt;/p&gt;<br/>
</code>`</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Incorrect (donc bonne réponse) : on ne<br/>
peut pas imbriquer un &lt;p&gt; dans un autre<br/>
&lt;p&gt;. Le navigateur fermera<br/>
automatiquement le premier au début du<br/>
second.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q17 : Balises auto-fermantes</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Lesquelles de ces balises sont <strong>auto-fermantes</strong><br/>
(sans balise fermante) ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Une balise vide n'encadre aucun contenu :<br/>
l'information utile passe par ses attributs,<br/>
comme src et alt pour &lt;img&gt;.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;title&gt;, &lt;script&gt;, &lt;style&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : ces trois balises exigent une<br/>
fermeture explicite, car elles contiennent<br/>
du contenu (&lt;title&gt;Mon site&lt;/title&gt;).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;p&gt;, &lt;div&gt;, &lt;span&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : ces balises requièrent une fermeture.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Les balises &lt;head&gt; et &lt;body&gt; du squelette</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : ces balises <strong>doivent</strong> être<br/>
fermées (elles contiennent du contenu).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>&lt;img&gt;, &lt;br&gt;, &lt;hr&gt;, &lt;meta&gt;, &lt;link&gt;, &lt;input&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : ces balises sont dites<br/>
vides : elles n'ont pas de contenu, donc<br/>
pas de fermeture. En HTML5 on peut écrire<br/>
&lt;br&gt; ou &lt;br /&gt;.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q18 : Mise en valeur</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quelle balise utilise-t-on pour mettre un mot<br/>
<strong>important</strong> en valeur ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>&lt;strong&gt; vs &lt;b&gt; : la première a un sens<br/>
(lecteur d'écran insiste), la seconde est<br/>
uniquement présentation. HTML moderne<br/>
privilégie le sémantique, le style étant géré<br/>
par CSS.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;bold&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : balise inexistante.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;important&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : balise inexistante.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>&lt;strong&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : &lt;strong&gt; exprime<br/>
l'<strong>importance</strong> sémantique (et est<br/>
rendue en gras par défaut). La balise<br/>
&lt;b&gt; existe aussi mais est purement<br/>
visuelle (à éviter en pratique). Pour<br/>
l'italique : &lt;em&gt; (sémantique) ou &lt;i&gt;.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;text-bold&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : balise inexistante.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q19 : Chemins relatifs</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Si la page est /site/index.html et l'image<br/>
est /site/img/photo.jpg, quel src utiliser<br/>
pour le chemin <strong>relatif</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Trois types de chemins : <strong>relatif</strong><br/>
(img/photo.jpg), <strong>absolu</strong> par rapport au<br/>
site (/img/photo.jpg), <strong>absolu</strong> complet<br/>
(https://...). Les chemins relatifs sont<br/>
portables.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>../img/photo.jpg</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : .. remonte d'un dossier, ici<br/>
on aboutirait à /img/photo.jpg.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>https://./img/photo.jpg</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : syntaxe d'URL invalide.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>/img/photo.jpg</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : ce serait un chemin <strong>absolu</strong> à<br/>
partir de la racine du site (qui pourrait<br/>
fonctionner ou pas selon la racine).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>img/photo.jpg</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : sans / initial, c'est<br/>
relatif au document courant. Depuis<br/>
/site/index.html, img/photo.jpg<br/>
pointe sur /site/img/photo.jpg.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q21 : Validité d'une liste imbriquée</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Que peut-on dire de ce code du point de vue de la<br/>
validité HTML, et comment le corriger ?<br/>
`<code>html<br/>
&lt;ul&gt;<br/>
  &lt;li&gt;Pomme&lt;/li&gt;<br/>
  &lt;li&gt;Banane&lt;/li&gt;<br/>
  &lt;ol&gt;<br/>
    &lt;li&gt;Cerise&lt;/li&gt;<br/>
  &lt;/ol&gt;<br/>
&lt;/ul&gt;<br/>
</code>`</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Pour un sous-niveau de liste : imbriquer la<br/>
sous-liste <strong>dans</strong> un &lt;li&gt; du parent.<br/>
Bonnes pratiques : valider avec validator.w3.org.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Une liste à puces avec « Pomme », « Banane » et une sous-liste numérotée contenant « Cerise »</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Presque, mais le code est techniquement<br/>
<strong>invalide</strong> : &lt;ol&gt; ne peut pas être un<br/>
enfant direct de &lt;ul&gt;. Il devrait être<br/>
dans un &lt;li&gt;. Le rendu peut varier selon<br/>
le navigateur.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Le code est mal structuré : &lt;ol&gt; doit être imbriqué dans un &lt;li&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : la structure correcte est<br/>
&lt;ul&gt;&lt;li&gt;Banane&lt;ol&gt;&lt;li&gt;Cerise&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ul&gt;.<br/>
Les listes ne peuvent contenir que des<br/>
&lt;li&gt; directement.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Une erreur empêche tout affichage</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : HTML est tolérant, le navigateur<br/>
rend ce qu'il peut. Mais la structure<br/>
est invalide selon le standard.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Une seule liste fusionnée</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Le navigateur ne fusionne<br/>
pas deux listes en une<br/>
seule. Il rend chaque<br/>
balise telle quelle, mais<br/>
la structure produite<br/>
n'est pas conforme au<br/>
standard.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q22 : Document complet</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quel élément est manquant dans cette structure<br/>
pour un document HTML5 conforme ?<br/>
`<code>html<br/>
&lt;!DOCTYPE html&gt;<br/>
&lt;html&gt;<br/>
  &lt;head&gt;&lt;/head&gt;<br/>
  &lt;body&gt;&lt;/body&gt;<br/>
&lt;/html&gt;<br/>
</code>`</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Document minimal vraiment conforme :<br/>
&lt;!DOCTYPE html&gt;&lt;html lang="fr"&gt;&lt;head&gt;&lt;meta<br/>
charset="utf-8"&gt;&lt;title&gt;Titre&lt;/title&gt;&lt;/head&gt;<br/>
&lt;body&gt;&lt;/body&gt;&lt;/html&gt;.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un attribut lang sur &lt;html&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Recommandé pour l'accessibilité (par<br/>
exemple &lt;html lang="fr"&gt;), mais<br/>
techniquement pas obligatoire.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un &lt;script&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : facultatif.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Un &lt;title&gt; dans &lt;head&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : &lt;title&gt; est obligatoire.<br/>
Il définit le titre de l'onglet et est<br/>
affiché dans les résultats de recherche.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Une balise &lt;style&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : facultatif.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q23 : Mise en page interdite</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Pourquoi utiliser un &lt;table&gt; pour la <strong>mise en page</strong> d'une page web (en dehors de présenter<br/>
des données tabulaires) est-il fortement<br/>
déconseillé ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Pour la mise en page : utiliser le CSS. Pour<br/>
les données : &lt;table&gt;, avec des cellules<br/>
d'en-tête &lt;th&gt; qui décrivent chaque<br/>
colonne.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Aucune raison, c'est même une bonne pratique recommandée</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est exactement l'inverse, la<br/>
pratique est aujourd'hui proscrite.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Cela ralentit fortement le navigateur lors du rendu de la page</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la performance n'est pas l'argument<br/>
principal.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>La balise &lt;table&gt; a été supprimée de HTML5</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : &lt;table&gt; existe toujours, mais<br/>
réservé aux données tabulaires.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Mauvaise sémantique, accessibilité dégradée, code rigide</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : le tableau de mise en page<br/>
trompe les lecteurs d'écran, qui annoncent<br/>
des lignes et des colonnes inexistantes, et<br/>
il se prête mal à un affichage sur des<br/>
écrans de tailles différentes.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q24 : Validation HTML</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Comment <strong>vérifier</strong> que son code HTML est<br/>
conforme au standard ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Le W3C (World Wide Web Consortium) maintient<br/>
les standards web. La validation est un bon<br/>
réflexe avant de mettre un site en<br/>
production.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>En lançant un programme Python de vérification dédié</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : un programme de vérification<br/>
maison ne fait pas référence ; c'est le<br/>
validateur du W3C, qui applique le<br/>
standard, qui fait foi.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>En utilisant le validateur du W3C (validator.w3.org)</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : outil officiel et gratuit.<br/>
Soumettre l'URL ou le fichier HTML, on<br/>
obtient une liste d'erreurs et<br/>
d'avertissements à corriger.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>En ouvrant la page dans un navigateur : si elle s'affiche, elle est conforme</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : les navigateurs sont volontairement<br/>
tolérants et affichent la plupart des pages<br/>
invalides. Un affichage correct ne prouve<br/>
donc pas la conformité au standard.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>En relisant le code visuellement</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Pratique, mais incomplet, la validation<br/>
automatique est plus exhaustive.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q25 : Synthèse</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Parmi les affirmations suivantes sur HTML,<br/>
laquelle est <strong>fausse</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Mnémonique : id désigne un identifiant<br/>
<strong>unique</strong> (comme une carte d'identité) ;<br/>
class désigne une catégorie (comme une<br/>
classe d'élèves).</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>HTML est un langage de balisage (pas un langage de programmation)</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Vrai : pas de variables ni de boucles. Le<br/>
dynamisme vient de JavaScript.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Les balises sémantiques (&lt;header&gt;, &lt;nav&gt;, etc.) améliorent l'accessibilité et le référencement</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Vrai : sens et structure compréhensibles<br/>
par les machines.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Un même id peut être utilisé pour plusieurs éléments dans la même page</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Faux (donc bonne réponse) : id doit être<br/>
<strong>unique</strong>. Pour grouper plusieurs<br/>
éléments, utiliser class.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>La structure d'une page comprend toujours &lt;head&gt; et &lt;body&gt; dans &lt;html&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Vrai : structure standard HTML5.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q26 : Métadonnées d'une page</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Dans la balise &lt;head&gt; d'une page HTML, à quoi sert<br/>
la balise suivante ?</p>
<p>`<code>html<br/>
&lt;meta name="description" content="Cours de NSI en ligne"&gt;<br/>
</code>`</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Dans &lt;head&gt;, on regroupe toutes les informations<br/>
qui décrivent la page sans s'afficher : &lt;title&gt;<br/>
(titre de l'onglet), &lt;meta charset&gt; (encodage),<br/>
&lt;meta name="description"&gt; (résumé pour les<br/>
moteurs), &lt;meta name="viewport"&gt; (adaptation<br/>
mobile), liens vers les feuilles de style et<br/>
scripts.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>À empêcher l'indexation de la page</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : pour empêcher l'indexation, on utilise<br/>
&lt;meta name="robots" content="noindex"&gt;. La<br/>
description, elle, sert au contraire à<br/>
présenter la page aux moteurs.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>À fournir une description de la page pour les moteurs de recherche</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : les moteurs de recherche peuvent<br/>
afficher cette description sous le titre dans<br/>
leurs résultats. Une bonne description<br/>
(concise, informative) aide au référencement et<br/>
au taux de clic.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>À définir le titre affiché dans l'onglet du navigateur</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : le titre de l'onglet est défini par la<br/>
balise &lt;title&gt;, distincte de<br/>
&lt;meta name="description"&gt;.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>À afficher la phrase « Cours de NSI en ligne » sur la page</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : tout le contenu placé dans &lt;head&gt; est<br/>
invisible pour le visiteur. Cette balise ne<br/>
produit aucun affichage direct.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q27 : Une seule réponse cochée dans un sondage</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Un formulaire de sondage demande « Quel est ton<br/>
niveau ? » et propose trois réponses : Seconde,<br/>
Première et Terminale. L'utilisateur ne doit<br/>
pouvoir en cocher qu'une seule. Quelle balise<br/>
faut-il écrire pour chacune des trois réponses ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Chaque composant d'un formulaire répond à un<br/>
besoin : radio pour un choix unique parmi<br/>
quelques réponses, checkbox pour des choix<br/>
multiples, text pour une saisie libre, et un<br/>
bouton pour déclencher une action.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>&lt;input type="radio" name="niveau"&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : des boutons radio qui<br/>
partagent le même name forment un groupe<br/>
dans lequel une seule réponse peut être<br/>
choisie ; en cocher une décoche les autres.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;input type="checkbox" name="niveau"&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : les cases à cocher sont<br/>
indépendantes les unes des autres ;<br/>
l'utilisateur pourrait cocher Première et<br/>
Terminale en même temps.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;input type="text" name="niveau"&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : un champ texte laisse<br/>
l'utilisateur écrire ce qu'il veut, par<br/>
exemple « 1re », au lieu de choisir parmi<br/>
trois réponses.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;button name="niveau"&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : un bouton sert à déclencher une<br/>
action, comme l'envoi du formulaire ; il<br/>
ne garde pas trace d'une réponse cochée.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q28 : Élément en ligne et élément en bloc</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Parmi les balises suivantes, laquelle est par défaut<br/>
un <strong>élément en bloc</strong> (qui occupe toute la largeur<br/>
disponible et provoque un retour à la ligne) ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Distinction essentielle pour la mise en page :<br/>
les éléments en bloc (&lt;div&gt;, &lt;p&gt;, &lt;h1&gt;,<br/>
&lt;ul&gt;, &lt;section&gt;...) prennent toute la largeur<br/>
et passent à la ligne ; les éléments en ligne<br/>
(&lt;span&gt;, &lt;a&gt;, &lt;strong&gt;, &lt;em&gt;,<br/>
&lt;img&gt;...) restent au sein de la ligne courante.<br/>
CSS permet de modifier ce comportement avec la<br/>
propriété display.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>&lt;h1&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : &lt;h1&gt; est un élément en bloc,<br/>
comme tous les titres &lt;h1&gt; à &lt;h6&gt;. Par<br/>
défaut, il occupe toute la largeur disponible<br/>
et place les éléments suivants à la ligne<br/>
suivante.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;em&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la balise &lt;em&gt; (emphase, rendue<br/>
en italique) est un élément en ligne, qui<br/>
s'applique autour d'un fragment de texte sans<br/>
provoquer de saut de ligne.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;a&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : un lien &lt;a&gt; est par défaut un<br/>
élément en ligne, ce qui permet de l'inclure<br/>
au milieu d'un paragraphe sans casser la mise<br/>
en page.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;img&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : même si une image peut être grande à<br/>
l'écran, &lt;img&gt; est un élément <strong>en ligne</strong> :<br/>
elle s'insère dans le flux du texte sans<br/>
imposer de retour à la ligne.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q29 : Une liste déroulante de spécialités</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Dans un formulaire, l'utilisateur doit choisir sa<br/>
spécialité dans une liste déroulante qui propose<br/>
NSI, Mathématiques et Physique-chimie. Quel code<br/>
HTML produit ce composant ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Une liste déroulante se décrit avec<br/>
&lt;select&gt;, qui contient une balise &lt;option&gt;<br/>
par choix proposé. Elle convient quand les<br/>
réponses possibles sont nombreuses ou<br/>
connues d'avance.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>`<code>html<br/>
&lt;input type="select" name="specialite"<br/>
       value="NSI, Mathématiques, Physique-chimie"&gt;<br/>
</code>`</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : le type select n'existe pas pour<br/>
&lt;input&gt;. Le navigateur affiche un simple<br/>
champ de texte, prérempli avec les trois<br/>
mots.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>`<code>html<br/>
&lt;select name="specialite"&gt;<br/>
  &lt;option&gt;NSI&lt;/option&gt;<br/>
  &lt;option&gt;Mathématiques&lt;/option&gt;<br/>
  &lt;option&gt;Physique-chimie&lt;/option&gt;<br/>
&lt;/select&gt;<br/>
</code>`</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : &lt;select&gt; crée la liste<br/>
déroulante et porte le name transmis avec<br/>
le formulaire ; chaque &lt;option&gt; ajoute un<br/>
choix.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>`<code>html<br/>
&lt;ul name="specialite"&gt;<br/>
  &lt;li&gt;NSI&lt;/li&gt;<br/>
  &lt;li&gt;Mathématiques&lt;/li&gt;<br/>
  &lt;li&gt;Physique-chimie&lt;/li&gt;<br/>
&lt;/ul&gt;<br/>
</code>`</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : &lt;ul&gt; affiche une liste à puces,<br/>
du simple texte que l'utilisateur ne peut<br/>
pas sélectionner ; ce n'est pas un<br/>
composant de formulaire.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>`<code>html<br/>
&lt;option name="specialite"&gt;<br/>
  &lt;select&gt;NSI&lt;/select&gt;<br/>
  &lt;select&gt;Mathématiques&lt;/select&gt;<br/>
  &lt;select&gt;Physique-chimie&lt;/select&gt;<br/>
&lt;/option&gt;<br/>
</code>`</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : l'imbrication est inversée. C'est<br/>
&lt;select&gt; qui délimite la liste et<br/>
contient une balise &lt;option&gt; par choix.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q30 : Un lien ouvert dans un nouvel onglet</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quel attribut ajouter à une balise &lt;a&gt; pour que le lien s'ouvre<br/>
dans un nouvel onglet ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>&lt;a href="..." target="_blank"&gt; ouvre un nouvel onglet ; sans<br/>
target, la page liée remplace la page courante.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>new="tab"</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : cet attribut n'existe pas en HTML.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>target="_blank"</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : target indique où afficher la page liée ;<br/>
_blank demande un nouvel onglet ou une nouvelle fenêtre.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>href="_blank"</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : href contient l'adresse de destination, pas le mode<br/>
d'ouverture.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>class="blank"</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : class sert à la mise en forme CSS, pas au<br/>
comportement du lien.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q31 : Une liste numérotée</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quelle balise crée une liste dont les éléments sont numérotés<br/>
automatiquement ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>ul et ol partagent la même structure, des li, et diffèrent par<br/>
la numérotation.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>&lt;ol&gt;, avec un &lt;li&gt; par élément</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : ol signifie <em>ordered list</em> ; le navigateur<br/>
numérote les li qu'elle contient.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;table&gt;, avec une ligne par élément</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : un tableau ne numérote rien et n'est pas fait pour une<br/>
liste.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;ul&gt;, avec un &lt;li&gt; par élément</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : ul crée une liste à puces, sans numéros.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;nl&gt;, avec un &lt;num&gt; par élément</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : ces balises n'existent pas.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q32 : Le rôle de l'attribut alt</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Dans &lt;img src="plan.png" alt="Plan du lycée"&gt;, à quoi sert<br/>
l'attribut alt ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Un alt pertinent fait partie d'une page accessible ; le validateur<br/>
signale les images qui n'en ont pas.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>À indiquer le chemin du fichier image</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : le chemin est donné par src.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>À afficher une légende sous l'image, visible par tous</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : alt n'est pas visible quand l'image se charge ; une<br/>
légende s'écrit dans le contenu de la page.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>À fournir un texte de remplacement pour l'image</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : ce texte rend l'image accessible aux personnes<br/>
qui ne la voient pas et prend sa place si le fichier est<br/>
introuvable.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>À fixer la taille de l'image à l'écran</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la taille se règle par width et height, ou en CSS.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q33 : Cellule d'en-tête ou cellule ordinaire</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Dans un tableau HTML, quelle différence entre &lt;th&gt; et &lt;td&gt; ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Un tableau se structure avec table, tr pour les lignes, th<br/>
pour les en-têtes et td pour les données.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Aucune, les deux balises étant interchangeables</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : leur sens diffère, même si l'apparence peut être<br/>
rapprochée par CSS.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>th est une cellule d'en-tête, td une cellule de données</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : th désigne un titre de colonne ou de ligne,<br/>
affiché en gras par défaut et annoncé comme tel par les lecteurs<br/>
d'écran ; td contient les données.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>th est une ligne, td une colonne du tableau</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la ligne s'écrit tr ; th et td sont deux sortes<br/>
de cellules.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>th est le tableau entier, td une cellule de ce tableau</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : le tableau entier s'écrit table.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q34 : Un lien vers une section de la même page</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Une page contient &lt;h2 id="horaires"&gt;Horaires&lt;/h2&gt;. Quel lien<br/>
amène directement à cette section ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Les ancres internes combinent un id sur la cible et un href en<br/>
#id sur le lien ; elles servent aussi d'une page à l'autre, avec<br/>
page.html#horaires.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;a href="horaires"&gt;Voir les horaires&lt;/a&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : sans #, le navigateur chercherait une page nommée<br/>
horaires.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>&lt;a href="#horaires"&gt;Voir les horaires&lt;/a&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : un href commençant par # suivi d'un id<br/>
fait défiler la page jusqu'à l'élément portant cet id.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;a id="horaires"&gt;Voir les horaires&lt;/a&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : ce lien n'a pas de destination ; id nomme l'élément,<br/>
il ne le relie à rien.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;a href="h2"&gt;Voir les horaires&lt;/a&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : le nom de la balise ne sert pas de cible ; c'est l'id<br/>
qui est visé.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q35 : Un saut de ligne dans un paragraphe</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Dans un paragraphe, comment forcer un passage à la ligne sans<br/>
commencer un nouveau paragraphe ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Le HTML ignore la mise en page du code source : les sauts de ligne<br/>
visibles viennent des balises, br ou p.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Avec la balise &lt;hr&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : hr trace une ligne horizontale de séparation.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>En appuyant sur Entrée dans le code HTML</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : les retours à la ligne du code sont traités comme de<br/>
simples espaces par le navigateur.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Avec la balise &lt;br&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : br insère un saut de ligne à l'endroit où elle<br/>
se trouve, sans fermer le paragraphe.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Avec la balise &lt;p&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : p ouvre un nouveau paragraphe, avec un espacement<br/>
vertical.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q36 : Un commentaire dans le code HTML</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Comment écrire, dans un fichier HTML, une note invisible pour le<br/>
visiteur ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Un commentaire HTML est invisible à l'écran mais visible dans le<br/>
code : il ne faut rien y écrire de confidentiel.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>// Note pour plus tard</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est la syntaxe des commentaires JavaScript.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;comment&gt;Note pour plus tard&lt;/comment&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : cette balise n'existe pas, et son contenu serait<br/>
affiché.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p># Note pour plus tard</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est la syntaxe des commentaires Python ; en HTML, ce<br/>
texte s'afficherait.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>&lt;!-- Note pour plus tard --&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : tout ce qui se trouve entre &lt;!-- et --&gt; est<br/>
ignoré par le navigateur, mais reste lisible dans le code<br/>
source.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q37 : Où apparaît le contenu de title</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Une page contient &lt;title&gt;Club de robotique&lt;/title&gt; dans sa partie<br/>
head. Où ce texte apparaît-il ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>head contient ce qui décrit la page, body ce qui s'affiche :<br/>
title appartient au premier.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Nulle part, head n'étant jamais affiché</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : head ne s'affiche pas dans la page, mais title est<br/>
bien utilisé par le navigateur pour nommer l'onglet.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Dans l'onglet du navigateur, pas dans la page</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : title décrit la page pour le navigateur et les<br/>
moteurs de recherche. Pour un titre visible dans la page, on<br/>
utilise h1.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Dans le pied de page, en petits caractères</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : rien ne place automatiquement title dans la page.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>En haut de la page, en gros caractères</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est le rôle de h1, placé dans body.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q38 : Afficher un signe inférieur</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Théo veut afficher le texte « 3 &lt; 5 » dans un paragraphe. Pourquoi<br/>
écrit-il 3 &amp;lt; 5 dans le code HTML ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Les caractères qui ont un sens en HTML, &lt;, &gt; et &amp;, s'affichent<br/>
grâce aux entités &amp;lt;, &amp;gt; et &amp;amp;.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Parce que les chiffres ne peuvent pas être suivis d'un symbole</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : les chiffres n'ont rien à voir ; c'est le &lt; qui pose<br/>
problème.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Parce que &lt; est interdit dans un fichier HTML, même dans les balises</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : &lt; est partout dans un fichier HTML, pour les balises ;<br/>
c'est son affichage comme texte qui demande une entité.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Parce que &amp;lt; affiche le signe en plus grand et en gras</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : l'entité affiche exactement le caractère &lt;.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Parce que &lt; ouvrirait une balise ; &amp;lt; l'affiche comme texte</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : le navigateur interpréterait &lt; 5 comme le<br/>
début d'une balise. L'entité &amp;lt; représente le caractère sans<br/>
le faire interpréter.</p>]]></text>
    </feedback>
  </answer>
</question>

</quiz>
