<?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 <code>&lt;</code> et <code>&gt;</code>. La<br/>
balise fermante a un <code>/</code> 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><code>balise(contenu)</code></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><code>&lt;balise&gt;contenu&lt;/balise&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : balise ouvrante, contenu,<br/>
balise fermante. Certaines balises sont<br/>
auto-fermantes comme <code>&lt;img /&gt;</code> ou <code>&lt;br /&gt;</code>.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p><code>{balise contenu}</code></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><code>[balise: contenu]</code></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><code>&lt;!DOCTYPE html&gt;</code> 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><code>&lt;body&gt;</code></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><code>&lt;html&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : <code>&lt;html&gt;</code> vient <strong>après</strong> la<br/>
déclaration de doctype.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p><code>&lt;!DOCTYPE html&gt;</code></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><code>&lt;head&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : <code>&lt;head&gt;</code> vient à l'intérieur de<br/>
<code>&lt;html&gt;</code>.</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><code>&lt;head&gt;</code> contient titre (<code>&lt;title&gt;</code>), encodage<br/>
(<code>&lt;meta charset="utf-8"&gt;</code>), feuilles de style<br/>
(<code>&lt;link&gt;</code>), scripts (<code>&lt;script&gt;</code>). <code>&lt;body&gt;</code><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[<pre><code>&lt;!DOCTYPE html&gt;
&lt;html&gt;
  &lt;head&gt;...&lt;/head&gt;
  &lt;body&gt;...&lt;/body&gt;
&lt;/html&gt;</code></pre>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : <code>&lt;head&gt;</code> (méta-données :<br/>
titre, encodage, styles), <code>&lt;body&gt;</code> (contenu<br/>
visible). Tous deux dans <code>&lt;html&gt;</code>.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<pre><code>&lt;html&gt;&lt;body&gt;...&lt;/body&gt;&lt;/html&gt;</code></pre>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : il manque le doctype et <code>&lt;head&gt;</code>.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<pre><code>&lt;body&gt;...&lt;/body&gt;</code></pre>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : il manque le doctype, <code>&lt;html&gt;</code>,<br/>
<code>&lt;head&gt;</code>.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<pre><code>&lt;main&gt;...&lt;/main&gt;</code></pre>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : <code>&lt;main&gt;</code> est une balise sémantique<br/>
à utiliser dans <code>&lt;body&gt;</code>, 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 : <code>&lt;h1&gt;</code> à <code>&lt;h6&gt;</code>. Importante pour<br/>
l'accessibilité et le référencement. Ne pas<br/>
sauter de niveau (de <code>&lt;h1&gt;</code> à <code>&lt;h3&gt;</code>).</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>&lt;head&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : <code>&lt;head&gt;</code> est la zone des<br/>
méta-données.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p><code>&lt;title1&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : balise inexistante.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p><code>&lt;title&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : <code>&lt;title&gt;</code> est dans <code>&lt;head&gt;</code> 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><code>&lt;h1&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : <code>&lt;h1&gt;</code> (header level 1) à<br/>
<code>&lt;h6&gt;</code> (level 6). Convention : un seul<br/>
<code>&lt;h1&gt;</code> 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><code>&lt;p&gt;</code> est l'une des balises les plus utilisées.<br/>
Pour un saut de ligne simple sans nouveau<br/>
paragraphe, utiliser <code>&lt;br&gt;</code>.</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>&lt;para&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : balise inexistante.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p><code>&lt;paragraph&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : balise inexistante. Le nom est<br/>
abrégé en <code>&lt;p&gt;</code>.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p><code>&lt;text&gt;</code></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><code>&lt;p&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : <code>&lt;p&gt;</code> (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/>
<code>https://example.com</code> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Attribut <code>target="_blank"</code> pour ouvrir dans un<br/>
nouvel onglet. Pour un lien interne (vers une<br/>
ancre dans la page) : <code>&lt;a href="#section1"&gt;</code>.</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>&lt;link href="https://example.com"&gt;texte&lt;/link&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : <code>&lt;link&gt;</code> est utilisée dans <code>&lt;head&gt;</code><br/>
pour les feuilles de style, pas pour les<br/>
liens visibles.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p><code>&lt;href="https://example.com"&gt;texte&lt;/href&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : pas de balise <code>&lt;href&gt;</code>. C'est un<br/>
attribut.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p><code>&lt;url="https://example.com"&gt;texte&lt;/url&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : pas de balise <code>&lt;url&gt;</code> non plus.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p><code>&lt;a href="https://example.com"&gt;texte&lt;/a&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : <code>&lt;a&gt;</code> (anchor) avec<br/>
l'attribut <code>href</code> (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 <code>alt</code> est <strong>obligatoire</strong> pour<br/>
l'accessibilité (lecteurs d'écran). Sans <code>alt</code>,<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><code>&lt;image src="..."&gt;</code></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><code>&lt;picture src="..."&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p><code>&lt;picture&gt;</code> existe (pour les images<br/>
responsives), mais c'est plus complexe et<br/>
contient plusieurs <code>&lt;source&gt;</code> et un<br/>
<code>&lt;img&gt;</code>.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p><code>&lt;src="..."&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : <code>src</code> est un attribut, pas une<br/>
balise.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p><code>&lt;img src="..." alt="..."&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : <code>&lt;img&gt;</code> avec <code>src</code> (chemin)<br/>
et <code>alt</code> (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 <code>&lt;li&gt;</code>.</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>&lt;ol&gt;</code> (ordered list)</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : <code>&lt;ol&gt;</code> est une liste <strong>ordonnée</strong><br/>
(numérotée).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p><code>&lt;list&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : balise inexistante.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p><code>&lt;ul&gt;</code> (unordered list)</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : <code>&lt;ul&gt;</code> contient des<br/>
<code>&lt;li&gt;</code> (list item). Affichage avec puces<br/>
par défaut.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p><code>&lt;bullet&gt;</code></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 <code>&lt;a href="page.html"&gt;lien&lt;/a&gt;</code>, qu'est-ce<br/>
que <code>href</code> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Attributs courants : <code>id</code>, <code>class</code>, <code>style</code>,<br/>
<code>href</code>, <code>src</code>, <code>alt</code>. La syntaxe est toujours<br/>
<code>attribut="valeur"</code> à 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 : <code>href</code> 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 <code>&lt;a&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : un attribut a la forme<br/>
<code>nom="valeur"</code> 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/>
(<code>&lt;header&gt;</code>, <code>&lt;nav&gt;</code>, <code>&lt;article&gt;</code>, <code>&lt;footer&gt;</code>)<br/>
à des <code>&lt;div&gt;</code> génériques ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Balises sémantiques HTML5 : <code>&lt;header&gt;</code>,<br/>
<code>&lt;nav&gt;</code>, <code>&lt;main&gt;</code>, <code>&lt;article&gt;</code>, <code>&lt;section&gt;</code>,<br/>
<code>&lt;aside&gt;</code>, <code>&lt;footer&gt;</code>. Apparues en 2014 pour<br/>
remplacer les <code>&lt;div class="header"&gt;</code><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 <code>&lt;div&gt;</code> est obsolète</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : <code>&lt;div&gt;</code> 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 <code>&lt;div&gt;</code>.</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 <code>&lt;div&gt;</code> et<br/>
<code>&lt;span&gt;</code> ?</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 <code>display: block;</code> ou <code>display: inline;</code>.</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>&lt;div&gt;</code> 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><code>&lt;div&gt;</code> est un conteneur de bloc (prend toute la largeur, saut de ligne) ; <code>&lt;span&gt;</code> 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. <code>&lt;div&gt;</code> est utilisé pour<br/>
structurer des sections ; <code>&lt;span&gt;</code> 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><code>&lt;span&gt;</code> ne fonctionne que dans <code>&lt;head&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : <code>&lt;span&gt;</code> fonctionne dans <code>&lt;body&gt;</code>.</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/>
<code>&lt;meta charset="utf-8"&gt;</code> dans <code>&lt;head&gt;</code> ?</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/>
<code>&lt;head&gt;</code> 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 <code>&lt;script&gt;</code>. La<br/>
balise <code>&lt;meta charset&gt;</code><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 <code>&lt;meta name="robots"<br/>
content="noindex"&gt;</code>.</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/>
<code>class</code> et <code>id</code> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Bonne pratique : utiliser surtout <code>class</code> pour<br/>
le style ; <code>id</code> 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><code>class</code> 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><code>id</code> doit être unique dans la page ; <code>class</code> peut être attribuée à plusieurs éléments</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : <code>id</code> identifie un seul<br/>
élément (par exemple <code>id="header-principal"</code>),<br/>
<code>class</code> regroupe des éléments partageant un<br/>
style (par exemple <code>class="bouton"</code>).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p><code>id</code> 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><code>&lt;table&gt;</code>, <code>&lt;tr&gt;</code> (table row), <code>&lt;td&gt;</code> (table data) et <code>&lt;th&gt;</code> (table header)</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : structure standard. <code>&lt;th&gt;</code><br/>
pour les en-têtes (mis en gras et centré<br/>
par défaut). <code>&lt;thead&gt;</code>, <code>&lt;tbody&gt;</code>, <code>&lt;tfoot&gt;</code><br/>
pour les groupements.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p><code>&lt;grid&gt;</code>, <code>&lt;row&gt;</code>, <code>&lt;cell&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : balises inexistantes.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p><code>&lt;table&gt;</code> seul suffit</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : il faut aussi <code>&lt;tr&gt;</code> et <code>&lt;td&gt;</code> (ou<br/>
<code>&lt;th&gt;</code>) pour avoir un contenu.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p><code>&lt;spreadsheet&gt;</code>, <code>&lt;line&gt;</code>, <code>&lt;column&gt;</code></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. <code>&lt;p&gt;</code> ne peut pas contenir de bloc<br/>
(ni un autre <code>&lt;p&gt;</code>).</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[<pre><code>&lt;a href="x"&gt;&lt;strong&gt;texte&lt;/strong&gt;&lt;/a&gt;</code></pre>]]></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[<pre><code>&lt;ul&gt;&lt;li&gt;élément&lt;/li&gt;&lt;/ul&gt;</code></pre>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Correct : <code>&lt;li&gt;</code> dans <code>&lt;ul&gt;</code>.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<pre><code>&lt;p&gt;Voici un &lt;strong&gt;mot&lt;/strong&gt; important.&lt;/p&gt;</code></pre>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Correct : un élément inline (<code>&lt;strong&gt;</code>)<br/>
dans un bloc (<code>&lt;p&gt;</code>).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<pre><code>&lt;p&gt;Texte &lt;p&gt;imbriqué&lt;/p&gt;.&lt;/p&gt;</code></pre>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Incorrect (donc bonne réponse) : on ne<br/>
peut pas imbriquer un <code>&lt;p&gt;</code> dans un autre<br/>
<code>&lt;p&gt;</code>. 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 : <code>&lt;area&gt;</code>, <code>&lt;base&gt;</code>,<br/>
<code>&lt;br&gt;</code>, <code>&lt;col&gt;</code>, <code>&lt;embed&gt;</code>, <code>&lt;hr&gt;</code>, <code>&lt;img&gt;</code>,<br/>
<code>&lt;input&gt;</code>, <code>&lt;link&gt;</code>, <code>&lt;meta&gt;</code>, <code>&lt;source&gt;</code>,<br/>
<code>&lt;track&gt;</code>, <code>&lt;wbr&gt;</code>.</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>&lt;img&gt;</code>, <code>&lt;br&gt;</code>, <code>&lt;hr&gt;</code>, <code>&lt;meta&gt;</code>, <code>&lt;link&gt;</code>, <code>&lt;input&gt;</code></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/>
<code>&lt;br&gt;</code> ou <code>&lt;br /&gt;</code>.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p><code>&lt;p&gt;</code>, <code>&lt;div&gt;</code>, <code>&lt;span&gt;</code></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><code>&lt;title&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : <code>&lt;title&gt;</code> doit être fermée<br/>
(<code>&lt;title&gt;Mon site&lt;/title&gt;</code>).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p><code>&lt;head&gt;</code>, <code>&lt;body&gt;</code></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><code>&lt;strong&gt;</code> vs <code>&lt;b&gt;</code> : 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><code>&lt;important&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : balise inexistante.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p><code>&lt;text-bold&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : balise inexistante.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p><code>&lt;bold&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : balise inexistante.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p><code>&lt;strong&gt;</code> ou <code>&lt;b&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : <code>&lt;strong&gt;</code> exprime<br/>
l'<strong>importance</strong> sémantique (et est<br/>
rendue en gras par défaut). <code>&lt;b&gt;</code> est<br/>
purement visuel (à éviter en pratique).<br/>
Pour l'italique : <code>&lt;em&gt;</code> (sémantique) ou<br/>
<code>&lt;i&gt;</code>.</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 <code>/site/index.html</code> et l'image<br/>
est <code>/site/img/photo.jpg</code>, quel <code>src</code> 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/>
(<code>img/photo.jpg</code>), <strong>absolu</strong> par rapport au<br/>
site (<code>/img/photo.jpg</code>), <strong>absolu</strong> complet<br/>
(<code>https://...</code>). 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><code>../img/photo.jpg</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : <code>..</code> remonte d'un dossier, ici<br/>
on aboutirait à <code>/img/photo.jpg</code>.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p><code>https://./img/photo.jpg</code></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><code>img/photo.jpg</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : sans <code>/</code> initial, c'est<br/>
relatif au document courant. Depuis<br/>
<code>/site/index.html</code>, <code>img/photo.jpg</code><br/>
pointe sur <code>/site/img/photo.jpg</code>.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p><code>/img/photo.jpg</code></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 (<code>alt</code>) pour les images, utiliser des balises sémantiques, structurer avec des titres <code>&lt;h1&gt;...&lt;h6&gt;</code></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/>
<pre><code>&lt;ul&gt;
  &lt;li&gt;Pomme&lt;/li&gt;
  &lt;li&gt;Banane&lt;/li&gt;
  &lt;ol&gt;
    &lt;li&gt;Cerise&lt;/li&gt;
  &lt;/ol&gt;
&lt;/ul&gt;</code></pre></p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Pour un sous-niveau de liste : imbriquer la<br/>
sous-liste <strong>dans</strong> un <code>&lt;li&gt;</code> 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> : <code>&lt;ol&gt;</code> ne peut pas être un<br/>
enfant direct de <code>&lt;ul&gt;</code>. Il devrait être<br/>
dans un <code>&lt;li&gt;</code>. 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é : <code>&lt;ol&gt;</code> doit être imbriqué dans un <code>&lt;li&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : la structure correcte est<br/>
<code>&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;</code>.<br/>
Les listes ne peuvent contenir que des<br/>
<code>&lt;li&gt;</code> 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/>
<pre><code>&lt;!DOCTYPE html&gt;
&lt;html&gt;
  &lt;head&gt;&lt;/head&gt;
  &lt;body&gt;&lt;/body&gt;
&lt;/html&gt;</code></pre></p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Document minimal vraiment conforme :<br/>
<code>&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;</code>.</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 <code>&lt;title&gt;</code> dans <code>&lt;head&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : <code>&lt;title&gt;</code> 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 <code>lang</code> sur <code>&lt;html&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Recommandé pour l'accessibilité (par<br/>
exemple <code>&lt;html lang="fr"&gt;</code>), mais<br/>
techniquement pas obligatoire.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un <code>&lt;script&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : facultatif.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Une balise <code>&lt;style&gt;</code></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 <code>&lt;table&gt;</code> 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/>
<code>&lt;table&gt;</code>, mais avec <code>&lt;thead&gt;</code>, <code>&lt;tbody&gt;</code>, 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é <code>&lt;table&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : <code>&lt;table&gt;</code> 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 : <code>id</code> = identifiant <strong>unique</strong><br/>
(comme une carte d'identité) ; <code>class</code> =<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 (<code>&lt;header&gt;</code>, <code>&lt;nav&gt;</code>, 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 <code>&lt;head&gt;</code> et <code>&lt;body&gt;</code> dans <code>&lt;html&gt;</code></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 <code>id</code> 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) : <code>id</code> doit être<br/>
<strong>unique</strong>. Pour grouper plusieurs<br/>
éléments, utiliser <code>class</code>.</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 <code>&lt;head&gt;</code> d'une page HTML, à quoi sert<br/>
la balise suivante ?</p>
<pre><code>&lt;meta name="description" content="Cours de NSI en ligne"&gt;</code></pre>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Dans <code>&lt;head&gt;</code>, on regroupe toutes les informations<br/>
qui décrivent la page sans s'afficher : <code>&lt;title&gt;</code><br/>
(titre de l'onglet), <code>&lt;meta charset&gt;</code> (encodage),<br/>
<code>&lt;meta name="description"&gt;</code> (résumé pour les<br/>
moteurs), <code>&lt;meta name="viewport"&gt;</code> (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 <code>&lt;title&gt;</code>, distincte de<br/>
<code>&lt;meta name="description"&gt;</code>.</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/>
<code>&lt;meta name="robots" content="noindex"&gt;</code>. 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 <code>&lt;head&gt;</code> 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 <code>&lt;iframe&gt;</code> à<br/>
l'aide d'en-têtes HTTP comme<br/>
<code>Content-Security-Policy</code>.</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>&lt;iframe&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : la balise <code>&lt;iframe&gt;</code> (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 <code>src</code>.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p><code>&lt;embed&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : <code>&lt;embed&gt;</code> 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><code>&lt;include&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : aucune balise <code>&lt;include&gt;</code> 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><code>&lt;link&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : <code>&lt;link&gt;</code> sert à déclarer des<br/>
ressources liées à la page (feuille de style,<br/>
favicon, etc.) dans le <code>&lt;head&gt;</code>, 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 (<code>&lt;div&gt;</code>, <code>&lt;p&gt;</code>, <code>&lt;h1&gt;</code>,<br/>
<code>&lt;ul&gt;</code>, <code>&lt;section&gt;</code>...) prennent toute la largeur<br/>
et passent à la ligne ; les éléments en ligne<br/>
(<code>&lt;span&gt;</code>, <code>&lt;a&gt;</code>, <code>&lt;strong&gt;</code>, <code>&lt;em&gt;</code>,<br/>
<code>&lt;img&gt;</code>...) restent au sein de la ligne courante.<br/>
CSS permet de modifier ce comportement avec la<br/>
propriété <code>display</code>.</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>&lt;strong&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la balise <code>&lt;strong&gt;</code> (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><code>&lt;span&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : <code>&lt;span&gt;</code> 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><code>&lt;div&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : <code>&lt;div&gt;</code> 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><code>&lt;a&gt;</code></p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : un lien <code>&lt;a&gt;</code> 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>
