Erreurs et litiges dans les sujets E3C NSI 2020
I. Introduction
L'année scolaire 2019-2020 a permis d'inaugurer les Épreuves Communes de Contrôle Continu pour la matière NSI. Les différents sujets proposés sont recensés sur ce site : .
Malheureusement, parmi toutes ces questions, il y a quelques erreurs, et parfois, des interprétations litigieuses. Voici donc une liste de ce que j'ai pu détecté après l'examen des 6 premiers sujets. Les sujets sont composés d'un certain nombre de questions issues d'une banque de question. Aussi, il se peut qu'une question apparaisse sur plusieurs sujets. Lorsque c'est le cas, je ne signale le problème que sur l'une des occurrences de la question.
Par ailleurs, n'ayant pas accès à la base de données, je ne peux pas vérifier que la réponse considérée comme correcte est justement la bonne.
II. Erreurs
1. Langage côté serveur (Sujet 1, Question D2)
Parmi les langages suivants, lequel est exécuté sur le serveur lors de la consultation d’une page Web?
- Javascript
- HTML
- CSS
- PHP
La réponse attendue, et bien sûr correcte, est très certainement la réponse 4, PHP. Mais il est également possible d'écrire un programme Web côté serveur en Javascript. Il y avait donc 2 réponses valides à cette question.
2. Conversion décimal → binaire (Sujet 2, Question A4)
Parmi les propositions suivantes, laquelle est la représentation binaire de 761 ?
- 11 1100 1101
- 11 1110 0101
- 10 0111 1001
- 10 1111 0001
Tout d'abord il n'est pas précisé si 761 est un nombre en base 10 (il pourrait être en base 16). En supposant qu'il soit effectivement en base 10, sa notation en base 2 est 10 1111 1001, une solution qui n'est pas proposée. Les différentes propositions sont les versions binaires respectives de 973, 997, 633, et 753.
3. Fichier CSV (Sujet 2, Question C2)
Qu'est-ce que le format de fichier CSV ?
- un format de fichier mis au point par Microsoft pour Excel
- un format de fichier pour décrire une base de données
- un format de fichier où les données sont séparées par un caractère tel qu'une virgule
- un format de fichier décrivant une page Web
La bonne réponse est bien sûr la troisième. Cependant, un fichier CSV permet aussi de décrire une base de données (réduite à une table). Il y avait donc potentiellement 2 réponses possibles
4. Attribut action
d'une balise <form/>
(Sujet 2, Question D2)
Dans une page HTML se trouve le formulaire suivant:
<form method="........." action="traitement.html">
<p>Nom : <input type="text" name="nom"></p>
<p>Mot de passe : <input type="password" name="mdp"></p>
<p><input type="submit" name="envoi" value="Envoyer"></p>
</form>
Par quoi faut-il remplacer les pointillés pour que les données du formulaire n'apparaissent pas dans l'URL au moment où l'utilisateur soumet le formulaire au serveur ?
- GET
- POST
- SECRET
- HIDDEN
L'attribut action
d'un formulaire ne devrait pas référencer un fichier html.
5. Méthode post dans un formulaire HTML (Sujet 2, Question D3)
Une page Web contient un formulaire dont le code HTML est le suivant :
<form action="/action_page.php" method="post">
First name : <input type="text" name = "fname">><br>
Last name : <input type="text" name = "lname"><br>
<input type="submit" value="Submit">
</form>
Que peut-on dire des informations transmises dans ce formulaire ?
- elles seront enregistrées dans l’historique du navigateur
- elles seront enregistrées dans le cache du navigateur
- elles ne devront pas dépasser une limite en nombre de caractères transmis
- elles ne seront pas visibles dans la barre du navigateur
La réponse attendue est très vraisemblablement la 4 (ces données ne seront effectivement pas visibles dans la barre du navigateur, puisque la méthode utilisée est la méthode post). Cependant, la réponse 2 est aussi valide ; en effet, par défaut, la plupart des navigateurs gardent dans leur cache les informations saisies dans les champs de formulaire, y compris lorsque c'est la méthode post qui est utilisée.
6. UTF-8 (Sujet 3, Question A1)
Quel est un avantage du codage UTF8 par rapport au codage ASCII ?
- il permet de coder un caractère sur un octet au lieu de deux
- il permet de coder les majuscules
- il permet de coder tous les caractères
- il permet de coder tous les caractères
On ne peut pas affirmer que UTF-8 permet de code tous les caractères. Un grand nombre, oui. L'essentiel des caractères des alphabets actuels, oui. Mais pas "tous".
7. Adresse versus Nom de machine (Sujet 3, Question D1)
Un internaute clique sur un lien qui envoie la requête HTTP suivante à un serveur:
http://jaimelaneige.com/ma_planche/traitement.php?nom=Snow&prenom=Jon
Quelle est l'adresse du serveur ?
- jaimelaneige
- jaimelaneige.com
- jaimelaneige.com/ma_planche
- jaimelaneige.com/ma_planche/traitement.php
Il y a plusieurs problèmes avec cette question. Tout d'abord, le terme serveur possède une double sémantique : cela peut désigner aussi bien la machine que le logiciel faisant fonction de serveur web (Apache par exemple). De plus, le terme "adresse" n'est en général pas associé à un nom de machine, mais plutôt à une adresse IP (ou ethernet, ...). Ici, jaimelaneige.com désigne complètement la machine seveur. Concernant le serveur Web, il peut très bien être associé directement à "jaimelaneige.com", mais il peut aussi être associé à "jaimelaneige.com/ma_panche".
8. Questions similaires (Sujet3, Questions G3 et G6)
Les questions G3 et G6 de ce sujet sont les mêmes, mêmes si les propositions diffèrent :
La recherche dichotomique est un algorithme rapide qui permet de trouver ou non la présence d’un élément dans un tableau. Mais, pour l’utiliser, une contrainte est indispensable, laquelle ?
- le tableau ne contient que des nombres positifs
- la longueur du tableau est une puissance de 2
- le tableau est trié en ordre croissant
- le tableau ne contient pas la valeur 0
Pour pouvoir utiliser un algorithme de recherche par dichotomie dans une liste, quelle précondition doit être vraie ?
- la liste doit être triée
- la liste ne doit pas comporter de doublons
- la liste doit comporter uniquement des entiers positifs
- la liste doit être de longueur inférieure à 1024
9. onmouseover (Sujet 6, Question D3)
onmouseover est une méthode qui permet de traiter un événement de quel type ?
- l'appui d'une touche du clavier
- un clic sur un bouton de souris
- un mouvement de la souris
- le survol par la souris d'un élémenet de la page
La seule notion de méthode vue en Première concerne les méthodes get et post pour l'envoi de paramètres d'un formulaire. Le onmouseover
éventuellement vu en Première ne peut être qu'un attribut d'une balise.
10. Logiciel propriétaire (Sujet 6, Question E6)
Une et une seule de ces affirmations est fausse. Laquelle?
- Un système d'exploitation libre est la plupart du temps gratuit
- Je peux contribuer à un système d'exploitation libre
- Il est interdit d'étudier un système d'exploitation propriétaire
- Un système d'exploitation propriétaire est plus sécurisé
Bien sûr, un système d'exploitation propriétaire n'est pas forcément plus sécurisé qu'un système libre. Mais de même , il est tout à fait légal d'étudier un système d'exploitation propriétaire. C'est l'étude de son code source qui n'est pas autorisée.
N. Titre (Sujet X, Question Y) (To be continued...)
III. Questions Litigieuses (TODO)