<?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="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>Hypertext Modern Layout</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : nom incorrect.</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="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<br/>
balisage</strong> (markup) pour structurer des<br/>
documents hypertexte (avec liens). Inventé<br/>
par Tim Berners-Lee en 1991.</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="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>
  <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>
</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;body&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : pareil, vient plus loin dans le<br/>
document.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;html&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : &lt;html&gt; vient <strong>après</strong> la<br/>
déclaration de doctype.</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 : déclare au navigateur que<br/>
c'est du HTML5. Sans doctype, les<br/>
navigateurs basculent en mode « quirks »<br/>
(compatibilité HTML4 ancien) avec un rendu<br/>
imprévisible.</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>
</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="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;&lt;body&gt;...&lt;/body&gt;&lt;/html&gt;<br/>
</code>`</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : il manque le doctype et &lt;head&gt;.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>`<code>html<br/>
&lt;body&gt;...&lt;/body&gt;<br/>
</code>`</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : il manque le doctype, &lt;html&gt;,<br/>
&lt;head&gt;.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>`<code>html<br/>
&lt;main&gt;...&lt;/main&gt;<br/>
</code>`</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : &lt;main&gt; est une balise sémantique<br/>
à utiliser dans &lt;body&gt;, pas comme<br/>
structure racine.</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;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="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;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="100" format="html">
    <text><![CDATA[<p>&lt;h1&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : &lt;h1&gt; (header level 1) à<br/>
&lt;h6&gt; (level 6). Convention : un seul<br/>
&lt;h1&gt; par page (le 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;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>
  <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>
</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;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>
  <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="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="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>
</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="0" format="html">
    <text><![CDATA[<p>&lt;image src="..."&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : balise inexistante en HTML. Le<br/>
nom est abrégé.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;picture src="..."&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>&lt;picture&gt; existe (pour les images<br/>
responsives), mais c'est plus complexe et<br/>
contient plusieurs &lt;source&gt; et un<br/>
&lt;img&gt;.</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>
  <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>
</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;ol&gt; (ordered list)</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : &lt;ol&gt; est une liste <strong>ordonnée</strong><br/>
(numérotée).</p>]]></text>
    </feedback>
  </answer>
  <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; (unordered list)</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : &lt;ul&gt; contient des<br/>
&lt;li&gt; (list item). Affichage avec puces<br/>
par défaut.</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 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>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Une balise</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : href est à l'intérieur d'une<br/>
balise.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Une fonction</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>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q11 : Balises sémantiques</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Pourquoi préfère-t-on les balises <strong>sémantiques</strong><br/>
(&lt;header&gt;, &lt;nav&gt;, &lt;article&gt;, &lt;footer&gt;)<br/>
à des &lt;div&gt; génériques ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Balises sémantiques HTML5 : &lt;header&gt;,<br/>
&lt;nav&gt;, &lt;main&gt;, &lt;article&gt;, &lt;section&gt;,<br/>
&lt;aside&gt;, &lt;footer&gt;. Apparues en 2014 pour<br/>
remplacer les &lt;div class="header"&gt;<br/>
omniprésents.</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>Pour l'accessibilité (lecteurs d'écran), le référencement (SEO) et la lisibilité du code</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : les balises sémantiques<br/>
décrivent la fonction de la zone, pas son<br/>
apparence. Bénéfices techniques et<br/>
maintenabilité.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Parce que &lt;div&gt; est obsolète</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : &lt;div&gt; reste très utilisé pour<br/>
regrouper du contenu sans signification<br/>
sémantique particulière.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Pour le rendu visuel</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : par défaut, le rendu visuel est le<br/>
même qu'un &lt;div&gt;.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Parce que ces balises sont plus rapides</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : aucune différence de performance.</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="0" format="html">
    <text><![CDATA[<p>&lt;div&gt; est obsolète</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : très utilisé.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>&lt;div&gt; est un conteneur de bloc (prend toute la largeur, saut de ligne) ; &lt;span&gt; est un conteneur inline (intégré dans le flux du texte)</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.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Aucune</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : différence importante de<br/>
comportement.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;span&gt; ne fonctionne que dans &lt;head&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : &lt;span&gt; fonctionne dans &lt;body&gt;.</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="0" format="html">
    <text><![CDATA[<p>À définir la couleur de la page</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : aucun rapport avec les couleurs<br/>
(c'est CSS).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>À indiquer au navigateur l'encodage des caractères du document (ici UTF-8, qui supporte les caractères français, asiatiques, emojis...)</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : sans déclaration, le<br/>
navigateur peut interpréter les caractères<br/>
accentués différemment (par exemple, voir<br/>
« café » au lieu de « café »).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>À activer JavaScript</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>class est obsolète</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : très utilisé.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>id doit être unique dans la page ; class peut être attribuée à 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>id ne fonctionne pas en HTML5</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : fonctionne parfaitement.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Aucune, ce sont des synonymes</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : différence importante.</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 (grosse erreur d'antan) ;<br/>
ils sont réservés aux données réellement<br/>
tabulaires. Pour la mise en page : Flexbox ou<br/>
Grid 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="100" format="html">
    <text><![CDATA[<p>&lt;table&gt;, &lt;tr&gt; (table row), &lt;td&gt; (table data) et &lt;th&gt; (table header)</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : structure standard. &lt;th&gt;<br/>
pour les en-têtes (mis en gras et centré<br/>
par défaut). &lt;thead&gt;, &lt;tbody&gt;, &lt;tfoot&gt;<br/>
pour les groupements.</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>&lt;table&gt; seul suffit</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="0" format="html">
    <text><![CDATA[<p>&lt;spreadsheet&gt;, &lt;line&gt;, &lt;column&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : balises inexistantes.</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;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;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;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>Liste des principales : &lt;area&gt;, &lt;base&gt;,<br/>
&lt;br&gt;, &lt;col&gt;, &lt;embed&gt;, &lt;hr&gt;, &lt;img&gt;,<br/>
&lt;input&gt;, &lt;link&gt;, &lt;meta&gt;, &lt;source&gt;,<br/>
&lt;track&gt;, &lt;wbr&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="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/>
« void » : 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>
  <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>&lt;title&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : &lt;title&gt; doit être fermée<br/>
(&lt;title&gt;Mon site&lt;/title&gt;).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;head&gt;, &lt;body&gt;</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>
</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;important&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;text-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;bold&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; ou &lt;b&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). &lt;b&gt; est<br/>
purement visuel (à éviter en pratique).<br/>
Pour l'italique : &lt;em&gt; (sémantique) ou<br/>
&lt;i&gt;.</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="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>
  <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>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q20 : Accessibilité</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quelle pratique améliore le plus<br/>
l'<strong>accessibilité</strong> d'une page web ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>L'accessibilité est essentielle : 15 % de la<br/>
population a un handicap. Et les bénéfices<br/>
profitent à tous (référencement, mobile,<br/>
ergonomie).</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>Désactiver le clavier</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : le contraire est attendu (la<br/>
navigation au clavier est essentielle).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Utiliser des couleurs vives</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Pas la priorité (cela peut même nuire au<br/>
contraste).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Mettre tout le texte en gras</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : nuit à la hiérarchie visuelle.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Fournir des textes alternatifs (alt) pour les images, utiliser des balises sémantiques, structurer avec des titres &lt;h1&gt;...&lt;h6&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : ces pratiques permettent<br/>
aux lecteurs d'écran et autres outils<br/>
d'assistance d'interpréter correctement la<br/>
page. Standard RGAA (France) et WCAG<br/>
(international).</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Structure HTML — Q21 : Trace de rendu</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Que produit visuellement le code suivant ?<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="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="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 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="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>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="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<br/>
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 CSS Flexbox<br/>
(1D) ou Grid (2D). Pour les données :<br/>
&lt;table&gt;, mais avec &lt;thead&gt;, &lt;tbody&gt;, et<br/>
les attributs d'accessibilité.</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 une bonne pratique</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est exactement l'inverse.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Mauvaise sémantique (les tableaux décrivent des données tabulaires), accessibilité dégradée (lecteurs d'écran annoncent « tableau »), code rigide difficile à adapter (responsive)</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : pratique des années 1990<br/>
devenue obsolète depuis l'arrivée de CSS<br/>
(Flexbox, Grid). Aujourd'hui considérée<br/>
comme une mauvaise pratique.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>HTML5 a supprimé &lt;table&gt;</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="0" format="html">
    <text><![CDATA[<p>Cela ralentit le navigateur</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la performance n'est pas l'argument<br/>
principal.</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="100" format="html">
    <text><![CDATA[<p>En utilisant le validateur du W3C (validator.w3.org) qui détecte les erreurs de syntaxe et de structure</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 lançant un programme Python</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Possible (avec html-validator), mais ce<br/>
n'est pas la méthode 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>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>En attendant que ça plante</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Plaisanterie. HTML est très tolérant et<br/>
plante rarement.</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 = identifiant <strong>unique</strong><br/>
(comme une carte d'identité) ; class =<br/>
catégorie (comme une 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>Les balises sémantiques (&lt;header&gt;, &lt;nav&gt;, etc.) améliorent l'accessibilité et le SEO</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Vrai : sens et structure compréhensibles<br/>
par les machines.</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>
  <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="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>
</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="100" format="html">
    <text><![CDATA[<p>À fournir une description de la page utilisée par les moteurs de recherche dans leurs résultats</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>À 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="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 : Intégrer une page externe</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quelle balise HTML permet d'intégrer le contenu<br/>
d'une autre page web à l'intérieur de la page<br/>
courante ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Une iframe est très utile pour intégrer du contenu<br/>
tiers (vidéos, cartes, éditeurs en ligne), mais<br/>
elle pose des questions de sécurité (clickjacking)<br/>
et de performance. C'est pourquoi de nombreux<br/>
sites contrôlent leur affichage en &lt;iframe&gt; à<br/>
l'aide d'en-têtes HTTP comme<br/>
Content-Security-Policy.</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;iframe&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : la balise &lt;iframe&gt; (cadre en<br/>
ligne) permet d'afficher une autre page web à<br/>
l'intérieur de la page courante, par exemple<br/>
une vidéo YouTube ou une carte. Sa source se<br/>
précise avec l'attribut src.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;embed&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : &lt;embed&gt; insère plutôt des objets<br/>
externes comme des fichiers PDF ou Flash. Pour<br/>
intégrer une page web complète, ce n'est pas<br/>
la balise standard.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;include&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : aucune balise &lt;include&gt; n'existe en<br/>
HTML standard. Cette syntaxe se rencontre dans<br/>
certains préprocesseurs ou systèmes de<br/>
modèles, mais elle n'est pas du HTML pur.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;link&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : &lt;link&gt; sert à déclarer des<br/>
ressources liées à la page (feuille de style,<br/>
favicon, etc.) dans le &lt;head&gt;, et non à<br/>
intégrer une autre page web dans le contenu.</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="0" format="html">
    <text><![CDATA[<p>&lt;strong&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la balise &lt;strong&gt; (mise en valeur<br/>
forte) est un élément en ligne, qui s'applique<br/>
autour d'un fragment de texte sans provoquer<br/>
de saut de ligne.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;span&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : &lt;span&gt; est l'archétype de l'élément<br/>
<strong>en ligne</strong> (<em>inline</em>). Il s'insère dans le<br/>
flux du texte sans imposer de retour à la<br/>
ligne.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>&lt;div&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : &lt;div&gt; est un élément en bloc<br/>
générique. Par défaut, il occupe toute la<br/>
largeur disponible et place les éléments<br/>
suivants à la ligne suivante.</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>
</question>

</quiz>
