<?xml version="1.0" encoding="UTF-8"?>
<quiz>
<question type="category">
  <category>
    <text>$course$/QCM de NSI/Première/CSS : mise en forme</text>
  </category>
  <info format="html">
    <text><![CDATA[<p>Feuilles de style en cascade (CSS), syntaxe d'une règle,<br/>
sélecteurs (élément, classe, identifiant), propriétés<br/>
courantes (couleur, taille, marges), modèle de boîte,<br/>
cascade et héritage, intégration au HTML.</p>]]></text>
  </info>
</question>

<question type="multichoice">
  <name>
    <text>CSS : mise en forme — Q01 : Que signifie CSS ?</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Que signifie l'acronyme <strong>CSS</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>CSS sépare la <strong>structure</strong> (HTML) de la<br/>
<strong>présentation</strong> (CSS). Bonne pratique pour la<br/>
maintenabilité.</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>Color and Style System</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Cette appellation n'a<br/>
pas d'existence officielle.<br/>
Le standard porte le nom<br/>
<em>Cascading Style Sheets</em>,<br/>
mis au point par le W3C.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Cascading Style Sheets</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : feuilles de style en<br/>
cascade. La cascade décrit comment les<br/>
règles s'appliquent et se combinent quand<br/>
plusieurs s'opposent.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Computer Style Sheet</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Le sigle officiel est<br/>
<em>Cascading Style Sheets</em>.<br/>
La notion de « cascade »<br/>
est essentielle, car elle<br/>
décrit comment les règles<br/>
se combinent ou se<br/>
surchargent.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Centralized Style Standard</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Cette dénomination est<br/>
inventée. Le sigle CSS<br/>
renvoie aux <em>Cascading<br/>
Style Sheets</em>, défini par<br/>
le W3C dès 1996.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>CSS : mise en forme — Q02 : Syntaxe d'une règle</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quelle est la structure d'une règle CSS ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Exemple : p { color: red; font-size: 16px; }.<br/>
Le ; final est facultatif sur la dernière<br/>
déclaration mais recommandé.</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>css<br/>
sélecteur { propriété: valeur; ... }<br/>
</code>`</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : sélecteur (qui ?), accolades,<br/>
paires propriété : valeur séparées par des<br/>
points-virgules.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>`<code>css<br/>
&lt;sélecteur propriété="valeur"&gt;<br/>
</code>`</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est plutôt une syntaxe HTML.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>`<code>css<br/>
sélecteur (propriété = valeur)<br/>
</code>`</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : pas de parenthèses ni de signe<br/>
égal.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>`<code>css<br/>
sélecteur -&gt; propriété -&gt; valeur<br/>
</code>`</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : syntaxe inventée.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>CSS : mise en forme — Q03 : Sélecteur d'élément</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Comment écrire une règle qui s'applique à<br/>
<strong>tous</strong> les paragraphes &lt;p&gt; ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Sélecteur d'élément : nom seul (h1, p,<br/>
div...). Il sélectionne tous les éléments<br/>
de ce type dans la page.</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>p { ... }</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : on désigne le <strong>type d'élément</strong> par son nom (sans &lt;&gt;).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>&lt;p&gt; { ... }</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : pas de chevrons en CSS.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>#p { ... }</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : # désigne un id, pas un<br/>
élément.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>.p { ... }</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : . désigne une classe.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>CSS : mise en forme — Q04 : Sélecteur de classe</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Comment cibler les éléments ayant<br/>
class="bouton" ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Mnémonique : <strong>.</strong> = <strong>c</strong>lass (commencent<br/>
tous deux par 'c' à l'oreille). Une classe peut<br/>
être appliquée à plusieurs éléments.</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>bouton { ... }</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : sans préfixe, ce serait un<br/>
sélecteur d'élément (qui n'existerait pas).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>@bouton { ... }</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : @ introduit des règles<br/>
spéciales (@media, @import...).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>#bouton { ... }</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : # désigne un id (élément<br/>
unique).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>.bouton { ... }</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : le <strong>point</strong> désigne une<br/>
classe. Très utilisé pour réutiliser un<br/>
style sur plusieurs éléments.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>CSS : mise en forme — Q05 : Sélecteur d'id</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Comment cibler l'élément ayant id="navigation" ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Trois sélecteurs de base : élément (sans<br/>
préfixe), classe (.), id (#). On peut les<br/>
combiner : p.important (paragraphes ayant<br/>
la classe « important »).</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>navigation { ... }</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : sans préfixe, ce serait un<br/>
sélecteur d'élément.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>.navigation { ... }</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : . désigne une classe.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>*navigation { ... }</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : * est le sélecteur universel<br/>
(tous les éléments).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>#navigation { ... }</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : le <strong>dièse</strong> (#) désigne<br/>
un id. Comme un id doit être unique, ce<br/>
sélecteur cible un seul élément.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>CSS : mise en forme — Q06 : Couleur du texte</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quelle propriété change la <strong>couleur du texte</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Distinguer color (texte) et<br/>
background-color (fond). Plusieurs syntaxes<br/>
pour les couleurs : nommée (red),<br/>
hexadécimale (#ff0000), rgb, rgba, hsl.</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>background</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : background (ou<br/>
background-color) change la couleur <strong>de fond</strong>, pas du texte.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>color</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : color: red;,<br/>
color: #ff0000;, color: rgb(255, 0, 0);.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>font-color</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : propriété inexistante.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>text-color</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : propriété inexistante.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>CSS : mise en forme — Q07 : Intégrer du CSS</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quelle est la <strong>meilleure pratique</strong> pour<br/>
intégrer du CSS dans un projet HTML ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Trois façons d'intégrer CSS : externe<br/>
(&lt;link&gt;), interne (&lt;style&gt;), inline<br/>
(style="..."). L'externe est la meilleure<br/>
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="100" format="html">
    <text><![CDATA[<p>Un fichier .css séparé, lié via &lt;link&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : séparation des<br/>
préoccupations, mise en cache par le<br/>
navigateur, partage entre pages, code<br/>
maintenable.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Mettre du CSS dans chaque attribut style="..."</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Pratique courante mais à éviter :<br/>
répétitions, difficile à maintenir, ne<br/>
permet pas la réutilisation.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Mettre tout le CSS dans une balise &lt;style&gt; à la fin du &lt;body&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Acceptable pour un prototype, mais le<br/>
fichier séparé est meilleur pour les<br/>
projets.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Écrire le CSS dans le code JavaScript</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Existe (CSS-in-JS) mais hors programme NSI<br/>
et peu adapté à des projets simples.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>CSS : mise en forme — Q08 : Taille de texte</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quelle propriété change la <strong>taille du texte</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Bonnes pratiques : utiliser des unités<br/>
relatives (em, rem) pour la<br/>
responsivité ; px pour les éléments<br/>
d'interface précis.</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>font-size</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : font-size: 16px;,<br/>
font-size: 1.2em;. Unités courantes :<br/>
px (pixel), em (relatif au parent),<br/>
rem (relatif à la racine), %.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>large</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : large est une <strong>valeur</strong>, pas<br/>
une propriété (font-size: large;).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>size</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : propriété inexistante en CSS.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>text-size</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : propriété inexistante.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>CSS : mise en forme — Q09 : Commentaires CSS</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Comment écrire un <strong>commentaire</strong> en CSS ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Bonne pratique : commenter les sections<br/>
principales et les valeurs non triviales<br/>
(couleurs spécifiques, hacks de<br/>
compatibilité).</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>/<em> commentaire </em>/</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : seule syntaxe valide en<br/>
CSS, peut s'étendre sur plusieurs lignes.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>// commentaire</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est la syntaxe JavaScript, C++,<br/>
Java. CSS ne reconnaît pas //.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>-- commentaire</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est la syntaxe SQL.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p># commentaire</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est la syntaxe Python.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>CSS : mise en forme — Q10 : Lien vers fichier CSS</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Comment lier un fichier style.css à une page<br/>
HTML ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Convention : nommer la feuille style.css ou<br/>
main.css. Pour des styles spécifiques à<br/>
certaines pages, plusieurs feuilles peuvent<br/>
coexister.</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;import rel="stylesheet" href="style.css"&gt;<br/>
</code>`</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : balise inexistante en HTML. CSS a<br/>
@import mais c'est en CSS, pas en HTML.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>`<code>html<br/>
&lt;style src="style.css" type="text/css"&gt;<br/>
</code>`</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : &lt;style&gt; n'a pas d'attribut<br/>
src. Il sert à inclure du CSS interne.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>`<code>html<br/>
&lt;css rel="stylesheet" href="style.css" /&gt;<br/>
</code>`</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la balise &lt;css&gt; n'existe pas.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>`<code>html<br/>
&lt;link rel="stylesheet" href="style.css"&gt;<br/>
</code>`</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : balise &lt;link&gt; avec<br/>
rel="stylesheet" (relation = feuille de<br/>
style) et href (chemin). À placer dans<br/>
&lt;head&gt;.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>CSS : mise en forme — Q11 : Modèle de boîte</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Dans le <strong>modèle de boîte</strong> CSS, quels sont les<br/>
quatre composants concentriques d'un élément<br/>
(de l'intérieur vers l'extérieur) ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Comme une carte postale dans une enveloppe :<br/>
contenu (la carte), padding (le matelas<br/>
autour), border (l'enveloppe), margin<br/>
(l'espace entre l'enveloppe et la suivante).</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>bordure, marge, padding, contenu</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : ordre incorrect.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>padding, contenu, marge, bordure</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : ordre incorrect.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>contenu, padding, bordure, marge</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : <strong>content</strong> (contenu),<br/>
<strong>padding</strong> (rembourrage interne),<br/>
<strong>border</strong> (bordure), <strong>margin</strong> (marge<br/>
externe).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>marge, contenu, bordure, padding</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : ordre incorrect.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>CSS : mise en forme — Q12 : Cascade et priorité</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Si deux règles s'appliquent au même élément,<br/>
laquelle l'emporte ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Calcul de spécificité : (a, b, c) où a =<br/>
nombre d'id, b = nombre de classes, c =<br/>
nombre d'éléments. Comparaison<br/>
lexicographique.</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>Au hasard, selon le choix interne du navigateur</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la cascade est déterministe,<br/>
rien n'est laissé au choix du navigateur.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Celle dont le sélecteur est le plus court, donc le plus général</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est l'opposé, le sélecteur le<br/>
plus <strong>spécifique</strong> l'emporte.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>La plus spécifique, sinon la dernière écrite</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : la cascade hiérarchise par<br/>
spécificité, puis par ordre de<br/>
déclaration. !important outrepasse<br/>
tout (à éviter).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>La toute première écrite dans le fichier</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est l'inverse pour la même<br/>
spécificité (la dernière écrite l'emporte).</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>CSS : mise en forme — Q13 : Héritage</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Que signifie qu'une propriété CSS est<br/>
<strong>héritée</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Toutes les propriétés ne sont pas héritées :<br/>
color, font-family oui ; border,<br/>
padding, margin non. Forcer<br/>
l'héritage : inherit.</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>Elle ne fonctionne que sur le premier élément</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>L'héritage en CSS n'est<br/>
pas restreint au premier<br/>
élément ; il se propage<br/>
dans toute la sous-arborescence,<br/>
du parent vers ses<br/>
descendants.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Elle s'applique à tous les éléments de la page</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : pas global, mais hiérarchique.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Transmise du parent aux enfants</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : par exemple, color est<br/>
héritée : body { color: blue; } rend<br/>
tout le texte de la page bleu, sauf si<br/>
un descendant la redéfinit.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Elle est interdite par CSS3</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : très utilisée.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>CSS : mise en forme — Q14 : Unités CSS</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quelle unité exprime une taille de texte<br/>
<strong>relative à la taille de police de<br/>
l'élément parent</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Deux unités relatives à connaître : em<br/>
(relative au parent) et rem (relative à la<br/>
racine). Bonne pratique d'accessibilité :<br/>
utiliser ces unités pour le texte, ainsi<br/>
l'utilisateur peut ajuster la taille de base<br/>
(préférences navigateur) et tout le site<br/>
s'adapte proportionnellement.</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>em</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : 1.2em vaut 120 % de la<br/>
taille de police du parent. Adaptatif et<br/>
accessible.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>rem</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : rem est relatif à la<br/>
<strong>racine</strong> (&lt;html&gt;), pas au parent.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>cm</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : unité physique absolue, peu<br/>
adaptée à l'écran.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>px (pixel)</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : taille fixe, indépendante du<br/>
parent.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>CSS : mise en forme — Q15 : Sélecteurs combinés</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Que cible le sélecteur nav a (avec un<br/>
espace) ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Combinateurs :   (descendant), &gt; (enfant<br/>
direct), + (frère adjacent), ~ (frère).<br/>
Et , pour grouper plusieurs sélecteurs.</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>Le premier &lt;a&gt; après un &lt;nav&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : ce serait nav + a (frère adjacent).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Tous les &lt;a&gt; descendants d'un &lt;nav&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : l'<strong>espace</strong> est le<br/>
combinateur de descendance. Pour les<br/>
enfants directs : nav &gt; a.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Aucun élément</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Le sélecteur nav a<br/>
est parfaitement valide<br/>
et cible bien des éléments :<br/>
tous les liens situés à<br/>
l'intérieur d'une zone<br/>
de navigation.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Les éléments qui sont à la fois &lt;nav&gt; et &lt;a&gt;</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est nav,a (virgule) qui ciblerait<br/>
les deux. Et un élément ne peut être à<br/>
la fois nav et a.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>CSS : mise en forme — Q17 : Couleurs en CSS</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Lesquels de ces formats désignent <strong>la même couleur</strong> (rouge pur) ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Quatre formats principaux : nommés (148<br/>
noms), hex (#rrggbb), rgb/rgba (transparence<br/>
via le 4ᵉ canal), hsl/hsla (teinte/saturation/<br/>
luminosité, plus intuitif).</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>red, #ff0000, rgb(255, 0, 0), hsl(0, 100%, 50%)</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : tous ces formats<br/>
représentent le rouge pur. Choisir selon<br/>
ce qui est plus lisible/calculable.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Seulement red et #ff0000, pas les deux autres</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : les quatre sont équivalents.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Aucun, chacun donne une nuance de rouge différente</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Au moins l'un de ces<br/>
formats représente bien<br/>
du rouge ; en réalité,<br/>
tous les quatre désignent<br/>
exactement la même couleur.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Seulement la notation rgb(255, 0, 0), la plus précise</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>La notation rgb(255, 0, 0)<br/>
n'est pas la seule à<br/>
désigner du rouge pur.<br/>
Le mot-clé red, le code<br/>
hexadécimal #ff0000 et<br/>
la notation HSL produisent<br/>
le même résultat.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>CSS : mise en forme — Q18 : Deux règles de même spécificité</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>`<code>css<br/>
p { color: blue; }<br/>
p { color: red; }<br/>
</code><br/>
<code>html<br/>
&lt;p&gt;Texte&lt;/p&gt;<br/>
</code>`<br/>
Quelle est la couleur du texte ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>La cascade compare d'abord la spécificité ;<br/>
en cas d'égalité (ici deux sélecteurs<br/>
d'élément), c'est l'ordre d'apparition qui<br/>
décide : la dernière règle écrite l'emporte.</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>Rouge, car la dernière règle écrite l'emporte</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : les deux sélecteurs p<br/>
ont exactement la même spécificité<br/>
(0,0,1). À égalité, c'est l'ordre<br/>
d'écriture qui départage, à savoir la<br/>
dernière règle déclarée.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Bleu, car la première règle rencontrée est prioritaire</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur classique : croire que la première<br/>
déclaration « verrouille » la propriété.<br/>
C'est l'inverse, à spécificité égale la<br/>
dernière règle écrite écrase la<br/>
précédente.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Noir, car les deux règles s'annulent mutuellement</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : un conflit CSS n'annule jamais<br/>
les règles en jeu. La cascade est faite<br/>
précisément pour trancher, ici en faveur<br/>
de la dernière règle écrite.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Cela dépend du navigateur qui affiche la page</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la résolution de la cascade est<br/>
normalisée et identique dans tous les<br/>
navigateurs. À spécificité égale, la<br/>
dernière règle écrite l'emporte partout.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>CSS : mise en forme — Q20 : Plusieurs classes</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Un élément peut-il avoir <strong>plusieurs classes</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Multi-classes = principe de <strong>composition</strong>.<br/>
Très utilisé par les frameworks (Bootstrap,<br/>
Tailwind) : combiner de petits utilitaires<br/>
pour bâtir une mise en forme.</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>Oui, séparées par des virgules simples</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : l'attribut class est découpé<br/>
sur les espaces, la virgule n'est pas un<br/>
séparateur. class="bouton,primaire"<br/>
définirait une seule classe nommée<br/>
« bouton,primaire ».</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Non, une seule par élément</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : on peut en mettre plusieurs.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Oui, séparées par des espaces</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : pratique pour combiner<br/>
des styles modulaires. Chaque classe est<br/>
appliquée indépendamment.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Non, il faut utiliser un id</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : id et class sont indépendants.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>CSS : mise en forme — Q21 : Style ne s'applique pas</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Mon CSS ne semble pas s'appliquer à un élément.<br/>
Quelles sont les <strong>causes les plus probables</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Réflexe : ouvrir l'inspecteur (F12),<br/>
sélectionner l'élément, regarder l'onglet<br/>
« Styles » pour voir quelles règles<br/>
s'appliquent et lesquelles sont surchargées.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>HTML5 ne supporte tout simplement pas du tout CSS</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est l'inverse.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Faute de frappe, surcharge, ou fichier non chargé</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : trois pistes classiques.<br/>
Outils de débogage : inspecteur du<br/>
navigateur (F12), onglet « Computed »<br/>
montre les styles appliqués réellement et<br/>
d'où ils viennent.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Il faut redémarrer le serveur web après chaque modification</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Possiblement (cache navigateur), mais<br/>
rarement la cause profonde.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Le CSS est trop lent et n'a pas fini de s'appliquer</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Le moteur de rendu CSS<br/>
applique les règles<br/>
quasi instantanément.<br/>
Si un style ne s'affiche<br/>
pas, la cause est presque<br/>
toujours un sélecteur<br/>
erroné, une règle plus<br/>
spécifique ou un fichier<br/>
mal chargé.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>CSS : mise en forme — Q25 : Synthèse</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Parmi les affirmations suivantes sur CSS,<br/>
laquelle est <strong>fausse</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Mnémonique : .classe = catégorie (peut<br/>
regrouper N éléments) ; #id = identifiant<br/>
(un seul). À ne pas confondre.</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>Le modèle de boîte CSS comprend contenu, padding, bordure, marge</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Vrai : modèle fondamental.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>CSS sépare la présentation de la structure (HTML)</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Vrai : principe fondamental.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>La spécificité hiérarchise les sélecteurs : id &gt; classe &gt; élément</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Vrai : règle de la cascade.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Un sélecteur de classe cible un seul élément à la fois</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Faux (donc bonne réponse) : une classe<br/>
(sélecteur préfixé par .) peut être<br/>
appliquée à plusieurs éléments. C'est le<br/>
<strong>id</strong> qui est unique par convention.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>CSS : mise en forme — Q26 : Largeur totale d'une boîte</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>On applique le style suivant à un paragraphe<br/>
(modèle par défaut, box-sizing: content-box) :</p>
<p>`<code>css<br/>
p {<br/>
  width: 200px;<br/>
  padding: 10px;<br/>
  border: 2px solid black;<br/>
  margin: 15px;<br/>
}<br/>
</code>`</p>
<p>Quelle largeur totale ce paragraphe occupe-t-il<br/>
horizontalement, marges comprises ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Avec box-sizing: content-box (défaut), la<br/>
largeur rendue vaut width + padding + bordures.<br/>
La propriété box-sizing: border-box change la<br/>
convention : width inclut alors padding et<br/>
bordure (l'élément ferait 200 px de large, soit<br/>
230 px avec ses marges), ce qui simplifie les<br/>
calculs de mise en page.</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>227 px</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : ce calcul (200 + 10 + 2 + 15) ne<br/>
compte chaque épaisseur qu'une fois. Padding,<br/>
bordure et marge s'appliquent <strong>des deux<br/>
côtés</strong> de la boîte, il faut donc les<br/>
compter deux fois chacun.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>254 px</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : de part et d'autre du contenu,<br/>
chaque couche compte deux fois, soit<br/>
200 + 2 × 10 + 2 × 2 + 2 × 15 = 254 px.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>224 px</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : ce calcul (200 + 2 × 10 + 2 × 2)<br/>
oublie la <strong>marge</strong>. Même extérieure à la<br/>
bordure, elle fait partie de la place occupée<br/>
par l'élément dans la page.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>200 px</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : avec le modèle par défaut<br/>
(content-box), width ne désigne que la<br/>
largeur du <strong>contenu</strong>. Padding, bordure et<br/>
marge s'ajoutent autour.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>CSS : mise en forme — Q22 : Quelle règle l'emporte</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Considérez le code HTML suivant :</p>
<p>&lt;p class="alerte" id="principal"&gt;Texte&lt;/p&gt;</p>
<p>Trois règles CSS sont définies dans la même feuille de style :</p>
<p>- p { color: blue; }<br/>
- .alerte { color: orange; }<br/>
- #principal { color: red; }</p>
<p>De quelle couleur le mot « Texte » s'affichera-t-il ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>La spécificité d'un sélecteur se calcule à partir<br/>
du nombre d'identifiants, de classes et d'éléments<br/>
qu'il contient. Un identifiant pèse plus qu'une<br/>
classe, qui pèse plus qu'un sélecteur d'élément.<br/>
Le style en ligne (style="...") est encore<br/>
au-dessus, et !important permet d'outrepasser<br/>
la cascade naturelle (à utiliser avec parcimonie).</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>Rouge, car le sélecteur d'identifiant a la spécificité la plus élevée</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : lorsqu'aucune règle n'est marquée<br/>
!important et qu'il n'y a pas de style en ligne,<br/>
c'est la <strong>spécificité</strong> qui départage. L'identifiant<br/>
(#principal) l'emporte sur la classe (.alerte),<br/>
qui l'emporte elle-même sur le sélecteur d'élément<br/>
(p).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Bleu, car le sélecteur d'élément p est le plus général donc le plus prioritaire</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est exactement l'inverse. En CSS, plus<br/>
un sélecteur est précis, plus il est prioritaire.<br/>
Le sélecteur d'élément est le moins spécifique.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Orange, car la règle de la classe est la deuxième dans la feuille</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : l'ordre des règles n'intervient qu'en cas<br/>
d'égalité de spécificité. Ici, l'identifiant est<br/>
plus spécifique que la classe, donc l'ordre n'a<br/>
pas d'effet.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>La couleur est indéterminée car trois règles différentes s'appliquent en même temps</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la cascade CSS définit précisément un<br/>
ordre de priorité (spécificité, puis ordre<br/>
d'apparition) qui rend la résolution toujours<br/>
déterministe.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>CSS : mise en forme — Q23 : Calcul d'une largeur rendue</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Une boîte CSS reçoit les propriétés suivantes :</p>
<p>width: 200px; padding: 20px; border: 2px solid black; margin: 10px;</p>
<p>Avec box-sizing: border-box, quelle est la<br/>
<strong>largeur rendue</strong> de la boîte (zone occupée à<br/>
l'écran par le contenu, le padding et la bordure,<br/>
sans inclure la marge externe) ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>En border-box, la largeur rendue est directement<br/>
\text{width} ; en content-box (défaut), elle vaut<br/>
\text{width} + 2 \times \text{padding} + 2 \times<br/>
\text{bordure}, soit ici 244 px. C'est pourquoi de<br/>
nombreux projets définissent <em>, </em>::before, *::after<br/>
{ box-sizing: border-box; } dans leur feuille de<br/>
style globale : les dimensions annoncées sont alors<br/>
celles réellement occupées.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>200 px, car width fixe directement la largeur rendue</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : en border-box, la largeur<br/>
rendue vaut exactement \text{width}, padding et<br/>
bordure compris. Le contenu se réduit alors à<br/>
200 - 2 × 20 - 2 × 2 = 156 px. La<br/>
marge reste à l'extérieur de la boîte.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>244 px (200 + 2 × 20 + 2 × 2)</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : ce calcul applique la formule du modèle<br/>
par défaut content-box, où padding et bordure<br/>
s'ajoutent à width. En border-box, ils sont<br/>
déjà <strong>inclus</strong> dans les 200 px annoncés.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>156 px (200 - 2 × 20 - 2 × 2)</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : 156 px est la largeur du <strong>contenu</strong><br/>
seul, une fois padding et bordure retranchés.<br/>
L'énoncé demande la largeur rendue de la boîte,<br/>
qui vaut ici directement width.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>220 px, en incluant la marge des deux côtés</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la marge externe représente l'espace que<br/>
la boîte revendique autour d'elle, pas la largeur<br/>
de la boîte. L'énoncé demande explicitement de<br/>
l'exclure du calcul.</p>]]></text>
    </feedback>
  </answer>
</question>

</quiz>
