QCM : Front-end de la structure à l’interactivité (21 questions)

Questions et réponses du QCM

1. Quel rôle JavaScript joue-t-il principalement dans une page web ?

Il orchestre les comportements et les interactions dans le navigateur
Il définit la structure et le contenu des éléments de la page
Il contrôle l’apparence visuelle et la mise en page des éléments
Il décrit les métadonnées nécessaires au chargement du document

Il orchestre les comportements et les interactions dans le navigateur

Explication

JavaScript orchestre les comportements et les interactions exécutés dans le navigateur. CSS concerne l’apparence, tandis que HTML définit la structure et le contenu de la page.

2. Quel choix correspond à une pratique de qualité en développement front-end ?

Privilégier un code explicable et maintenable sur un résultat difficile à faire évoluer
Privilégier la multiplication des scripts pour réduire la lisibilité générale du projet
Privilégier un code compact qui fonctionne malgré une organisation difficile à comprendre
Privilégier les solutions rapides même lorsqu’elles compliquent les modifications futures

Privilégier un code explicable et maintenable sur un résultat difficile à faire évoluer

Explication

Un développement front-end de qualité vise un code compréhensible et maintenable, pas seulement un résultat fonctionnel. Un code difficile à comprendre augmente le coût des corrections et des évolutions.

3. Quelle balise HTML convient à un élément qui déclenche une action dans l’interface ?

section
button
nav
a

button

Explication

La balise button représente une action déclenchée par l’utilisateur, tandis que la balise a convient à une navigation vers une ressource ou une destination. section et nav décrivent des zones sémantiques, non une action ponctuelle.

4. Quelle organisation correspond à une structure HTML5 minimale et lisible ?

doctype html, html lang="fr", head configuré, puis body avec header, main et footer
doctype html, html lang="fr", puis body contenant charset, viewport et title
doctype html, head configuré, puis body contenant plusieurs zones sans structure sémantique
doctype html, body configuré, puis head contenant header, main et footer

doctype html, html lang="fr", head configuré, puis body avec header, main et footer

Explication

La structure attendue place la déclaration, l’élément html avec la langue et un head contenant charset, viewport et title avant un body organisé en header, main et footer. Les métadonnées charset et viewport appartiennent à head, non aux zones du body.

5. Quelle pratique contribue directement à rendre une interface accessible ?

Masquer le focus clavier afin de conserver une présentation visuelle uniforme
Réserver les informations importantes aux couleurs et aux animations visuelles
Réduire les zones cliquables pour éviter que l’utilisateur active plusieurs commandes
Fournir des contrastes suffisants, des alternatives textuelles et un focus visible

Fournir des contrastes suffisants, des alternatives textuelles et un focus visible

Explication

L’accessibilité repose notamment sur la perception et l’utilisation de l’interface au moyen de contrastes adaptés, d’alternatives textuelles et d’un focus visible. Dépendre des couleurs ou masquer le focus peut empêcher certaines personnes de comprendre ou de contrôler l’interface.

6. Comment associer correctement un champ de formulaire à son intitulé ?

Utiliser le même name pour le label et le champ afin de créer leur association
Ajouter un placeholder descriptif et signaler l’erreur avec une couleur contrastée
Placer le label à côté du champ et afficher une erreur générale sous le formulaire
Relier le for du label à l’id du champ et décrire précisément l’erreur à corriger

Relier le for du label à l’id du champ et décrire précisément l’erreur à corriger

Explication

L’association explicite repose sur la correspondance entre l’attribut for du label et l’attribut id du champ, tandis que l’erreur doit indiquer la correction attendue. Un positionnement visuel ou un placeholder ne remplace pas cette association sémantique.

7. Quelle distinction décrit correctement la hiérarchie et le feedback en UX ?

La hiérarchie vérifie la conformité technique, tandis que le feedback définit la structure HTML
La hiérarchie guide l’action, tandis que le feedback informe sur l’état ou le résultat
La hiérarchie signale l’état d’une commande, tandis que le feedback organise les contenus
La hiérarchie indique l’erreur à corriger, tandis que le feedback choisit les éléments prioritaires

La hiérarchie guide l’action, tandis que le feedback informe sur l’état ou le résultat

Explication

La hiérarchie aide l’utilisateur à comprendre où il se trouve et ce qu’il doit faire ensuite, alors que le feedback indique un état ou un résultat comme le chargement, le succès ou l’erreur. Confondre ces notions revient à attribuer à l’organisation du contenu le rôle d’un signal d’état.

8. Lorsque deux règles CSS ciblent le même élément, quel critère détermine généralement la règle appliquée ?

Le nombre de déclarations dans le fichier
La longueur de la feuille de style
L’ordre alphabétique des propriétés
La spécificité du sélecteur

La spécificité du sélecteur

Explication

La cascade compare notamment la spécificité des sélecteurs afin de déterminer quelle règle l’emporte. Utiliser `!important` n’est pas le mécanisme à privilégier pour résoudre chaque conflit de styles.

9. Dans le modèle de boîte CSS, où se situe le padding par rapport à la bordure ?

Entre deux éléments voisins
À l’intérieur de la bordure
À l’extérieur de la marge
Au-dessus du contenu seulement

À l’intérieur de la bordure

Explication

Le padding représente l’espace intérieur situé entre le contenu et la bordure. La marge, elle, se trouve à l’extérieur de la bordure et sépare l’élément des autres éléments.

10. Dans une mise en page Flexbox horizontale, quelle propriété répartit l’espace selon l’axe principal ?

flex-direction
justify-content
align-items
gap

justify-content

Explication

Dans Flexbox, `justify-content` agit sur l’axe principal, qui est horizontal lorsque la direction est en ligne. `align-items` agit sur l’axe secondaire, tandis que `gap` règle l’espace entre les éléments.

11. Quelle déclaration Grid crée trois colonnes de largeur flexible équivalente ?

grid-template-columns: repeat(1, 3fr)
grid-template-rows: repeat(3, 1fr)
grid-template-columns: repeat(3, 1fr)
grid-auto-flow: repeat(3, 1fr)

grid-template-columns: repeat(3, 1fr)

Explication

`grid-template-columns: repeat(3, 1fr)` définit trois colonnes, chacune recevant une fraction égale de l’espace disponible. Une déclaration portant sur les lignes organiserait l’axe opposé.

12. Quelle démarche correspond à une conception responsive mobile first ?

Créer une version distincte pour chaque appareil avant d’écrire les styles
Commencer par les petits écrans puis ajouter des media queries lorsque l’espace augmente
Commencer par le bureau puis réduire progressivement chaque composant
Fixer une largeur identique et masquer les éléments qui débordent

Commencer par les petits écrans puis ajouter des media queries lorsque l’espace augmente

Explication

L’approche mobile first établit d’abord les styles destinés au petit écran, puis enrichit la mise en page avec des media queries pour les espaces plus grands. Commencer par le bureau inverse cette progression.

13. Quel changement illustre un pattern responsive adapté aux petits écrans ?

Conserver trois colonnes quelle que soit la largeur disponible
Faire passer une barre latérale sous le contenu principal
Remplacer un menu compact par une navigation horizontale étendue
Augmenter la largeur fixe d’une table pour éviter son adaptation

Faire passer une barre latérale sous le contenu principal

Explication

Sur un petit écran, une sidebar peut passer sous le contenu afin de préserver la lisibilité et l’espace disponible. Les autres propositions maintiennent ou accentuent des structures moins adaptées aux écrans étroits.

14. Quelle déclaration convient lorsqu’une liaison doit être réassignée en JavaScript moderne ?

static compteur = 0;
const compteur = 0;
let compteur = 0;
var compteur = 0;

let compteur = 0;

Explication

`let` convient lorsqu’une liaison doit recevoir une nouvelle valeur, tandis que `const` interdit la réassignation de cette liaison. `var` appartient à l’ancien modèle et n’est pas le choix moderne par défaut.

15. Que signifie la portée de bloc pour une variable déclarée avec `let` ?

Elle reste accessible après la fermeture du bloc
Elle est accessible dans le bloc où elle est déclarée
Elle devient automatiquement une propriété de l’objet global
Elle est accessible dans tous les fichiers du programme

Elle est accessible dans le bloc où elle est déclarée

Explication

Une variable déclarée avec `let` entre des accolades est limitée à ce bloc et à ses sous-blocs. Elle ne peut donc pas être utilisée depuis une portée extérieure après la fermeture du bloc.

16. Quelle affirmation distingue correctement `===` de `==` en JavaScript ?

`==` exige le même type avant de comparer les valeurs
`===` compare la valeur après conversion automatique du type
`==` compare les références sans tenir compte des valeurs
`===` compare la valeur et le type sans conversion implicite

`===` compare la valeur et le type sans conversion implicite

Explication

L’opérateur `===` vérifie simultanément la valeur et le type, sans conversion implicite. L’opérateur `==`, en revanche, peut convertir les types avant d’effectuer la comparaison.

17. Dans quel cas le ternaire est-il particulièrement approprié en JavaScript ?

Lorsqu’il faut déclarer une variable limitée à un bloc
Lorsqu’il faut comparer deux objets sans conversion
Lorsqu’il faut exécuter une longue suite d’actions indépendantes
Lorsqu’il faut produire une valeur selon une condition

Lorsqu’il faut produire une valeur selon une condition

Explication

L’opérateur ternaire sert à choisir et produire une valeur à partir d’une condition. Une structure `if` convient davantage lorsqu’il faut enchaîner plusieurs actions ou gérer une logique plus développée.

18. Quelle méthode de tableau conserve les éléments qui vérifient une condition donnée ?

filter
reduce
map
find

filter

Explication

La méthode filter sélectionne les éléments satisfaisant une condition et construit une collection avec eux. La méthode map transforme chaque élément, mais ne sert pas à effectuer cette sélection conditionnelle.

19. Que renvoie une fonction JavaScript qui effectue un traitement sans contenir d’instruction return ?

La dernière valeur calculée
undefined
Une chaîne vide
null

undefined

Explication

En l’absence d’instruction return, une fonction JavaScript renvoie undefined, même si elle a réalisé des opérations internes. null représente une valeur explicitement définie et n’est pas ajouté automatiquement par le langage.

20. Quelle expression conserve la valeur 0 tout en fournissant une valeur de remplacement lorsque la propriété est null ou undefined ?

valeur ?? valeurDeSecours
valeur || valeurDeSecours
valeur?.valeurDeSecours
valeur && valeurDeSecours

valeur ?? valeurDeSecours

Explication

L’opérateur ?? utilise la valeur de secours lorsque l’expression vaut null ou undefined, mais il conserve 0. L’opérateur || considère également 0 comme une valeur fausse et déclencherait alors la valeur de remplacement.

21. Quelle association décrit correctement JSON.stringify et JSON.parse ?

stringify récupère une réponse et parse l’envoie au serveur
stringify produit du texte et parse reconstruit un objet
stringify reconstruit un objet et parse produit du texte
stringify filtre les propriétés et parse trie les éléments

stringify produit du texte et parse reconstruit un objet

Explication

JSON.stringify sérialise un objet sous forme de texte JSON, tandis que JSON.parse transforme ce texte en objet exploitable. Les deux méthodes ne filtrent ni ne trient automatiquement les données.

Révisez avec les flashcards

Mémorisez les réponses avec 54 flashcards sur Front-end de la structure à l’interactivité.

Quel rôle joue HTML dans une page web ?

HTML définit le contenu et sa structure.

Que contrôle CSS dans une page web ?

CSS contrôle l’apparence et la mise en page.

Quel est le rôle de JavaScript dans le navigateur ?

JavaScript orchestre les comportements dans le navigateur.

Voir les flashcards →

Approfondir avec la fiche

Consultez la fiche de révision complète sur Front-end de la structure à l’interactivité.

Voir la fiche →

Cours similaires

Crée tes propres QCM

Importe ton cours et l'IA génère des QCM avec corrections en 30 secondes.

Générateur de QCM