Chapitre 410 minIntermédiaire
Rédiger une réponse qui rapporte des points
Par Josselyn C., prof de BTS SIO. Mis à jour le .
À la fin de ce chapitre, tu sauras
- traduire chaque verbe de consigne en réponse attendue ;
- construire une réponse qui nomme, explique et s'appuie sur le cas ;
- présenter ta copie pour que chaque réponse soit trouvée et comprise.
2 exercices corrigés1 schéma
Une bonne réponse d'E7 fait trois choses : elle nomme la notion avec le mot exact, elle explique le mécanisme en une ou deux phrases, et elle l'applique au cas en citant le contexte ou le document. Ce chapitre traduit chaque verbe de consigne des sujets officiels en ce que le correcteur attend, montre des réponses faibles et des réponses complètes sur des questions réelles, et donne les règles de présentation qui évitent de perdre des points bêtement.
Ce que demande chaque verbe de consigne
Le verbe de la question fixe la longueur et la nature de la réponse. Les sujets 2023 à 2026 en utilisent une douzaine.
| Verbe | Ce qui est attendu | Longueur | Exemple réel |
|---|---|---|---|
| Citer, Lister | des éléments, sans développement | une ligne par élément | « Citer trois mesures techniques… » (2025) |
| Indiquer, Identifier | un fait précis, tiré du document ou du cours | une à trois phrases | « Identifier l'algorithme de hachage utilisé… » (2026) |
| Rappeler | une définition de cours | deux à quatre phrases | « Rappeler les critères qui caractérisent une donnée à caractère personnel… » (2026) |
| Expliquer | un mécanisme : comment, pourquoi | un paragraphe | « Expliquer pourquoi on obtient ce résultat avec le code actuel du déclencheur » (2025) |
| Justifier | un choix ou un niveau, avec des arguments tirés du cas | un paragraphe, deux arguments au moins | « Justifier le niveau du critère de confidentialité du récit utilisateur 1 » (2025) |
| Proposer | une solution adaptée au cas, argumentée | un paragraphe | « Proposer une solution de transfert… sécurisée et adaptée à la taille des fichiers » (2025) |
| Écrire | du code ou des requêtes complets | ce qu'il faut | « Écrire les requêtes permettant d'adapter la base de données… » (2026) |
| Compléter, Modifier, Corriger | seulement les lignes ajoutées ou changées, avec leurs numéros | quelques lignes | « Corriger la requête préparée dans la fonction getContact() » (2026) |
| Réaliser, Finaliser (un schéma) | un schéma de données, « dans le formalisme de votre choix » | les seuls éléments concernés | « Réaliser les modifications nécessaires du schéma de la base » (2026) |
| Vérifier | un oui ou un non, prouvé par le document | un paragraphe | « Vérifier si le code existant permet d'accéder de façon illégitime aux contrats » (2025, Kirassur) |
La structure d'une réponse complète
- Nommer. Le mot exact du domaine : « contrôle d'accès défaillant », « hachage », « moindre privilège », « violation de données à caractère personnel ». Si le sujet fournit un référentiel (l'OWASP Top Ten 2021 en 2026), reprends son code et son intitulé : « A01:2021 – Contrôles d'accès défaillants ».
- Expliquer. Le mécanisme, en une ou deux phrases, sans jargon inutile : ce qui se passe, et pourquoi c'est un problème.
- Appliquer au cas. Le nom de l'organisation, la donnée en jeu, la ligne du document. C'est l'étape que les candidats oublient le plus, et c'est elle qui distingue une copie qui a lu le sujet d'une copie récitée.
- Corriger, si la question le demande : la contre-mesure précise, pas « il faut sécuriser ».
Une question de code, deux copies
Question (2026, cas NDV, B1.3 a) : « Indiquer ce qui rend possible les injections SQL dans ce code. »
Copie faible. « Le code n'est pas sécurisé, il faut utiliser des requêtes préparées. »
Elle ne nomme pas précisément la cause, n'explique rien, ne cite aucune ligne. Et la cause est fausse : le code appelle bien prepare().
Copie complète. « Ligne 14 du fichier espace_client.php, la variable $username, qui vient du champ du formulaire (lignes 8 et 11, par la session), est insérée telle quelle dans la chaîne de la requête SQL. La méthode prepare() est appelée ligne 16, mais sur une requête déjà construite : elle ne protège rien, puisqu'aucun marqueur (:username) n'est lié à une valeur. Une saisie contenant une apostrophe sort de la chaîne et devient du code SQL : c'est une injection (A03:2021). La variable $password, ligne 15, est construite de la même façon, mais elle contient une empreinte SHA-1 en hexadécimal, qui ne peut pas contenir d'apostrophe. »
Elle nomme, explique, cite les lignes, distingue les deux variables et relève le piège du sujet : un prepare() sans paramètres liés.
Une question de justification, deux copies
Question (2025, cas Casterman, A1.1 a) : « Justifier le niveau du critère de confidentialité du récit utilisateur 1 » (niveau important ; le récit : l'éditeur enregistre une nouvelle bande dessinée et numérise le contrat signé avec l'auteur).
Copie faible. « La confidentialité est importante car les données sont confidentielles. »
C'est une tautologie : elle ne dit pas quelles données, ni ce qu'une fuite coûterait.
Copie complète. « Le contrat numérisé contient des données à caractère personnel de l'auteur (identité, coordonnées) et des informations commerciales stratégiques (conditions financières, titre d'un ouvrage pas encore publié). Leur divulgation exposerait Casterman à un manquement au RGPD vis-à-vis de l'auteur et à un préjudice commercial face à la concurrence. Un niveau important est donc justifié. »
Deux arguments tirés du cas, une conséquence pour l'organisation, une conclusion qui répond à la question.
Une question de droit, deux copies
Question (2025, cas Casterman, A2.3 a) : « Indiquer qui doit être obligatoirement informé de la violation de données à caractère personnel » (la DSI estime que le risque pour les personnes est mineur).
Copie faible. « Il faut prévenir la CNIL et les personnes concernées. »
À moitié faux : l'information des personnes n'est obligatoire qu'en cas de risque élevé, ce que le sujet exclut.
Copie complète. « Le responsable de traitement, Casterman, doit notifier la violation à la CNIL dans les meilleurs délais et, si possible, 72 heures au plus tard après en avoir pris connaissance (article 33 du RGPD), car la violation présente un risque, même mineur. Il n'est pas obligé d'informer les personnes concernées : cette communication n'est requise qu'en cas de risque élevé pour leurs droits et libertés (article 34), ce que Mme Siber exclut. »
Elle répond à la question posée, utilise l'information du sujet (« risque mineur ») pour exclure ce qui ne s'applique pas, et cite les articles.
Présenter sa copie
- Une réponse, un numéro. « B1.1 a) », puis la réponse. Pas de numéro, pas de points : le correcteur ne devine pas.
- Des phrases. Une liste de mots-clés ne justifie rien. Pour « Citer », une liste convient ; pour « Expliquer », il faut des phrases.
- Le code lisible. Écris-le en script, une instruction par ligne, avec une indentation visible. Encadre les numéros de ligne à gauche.
- Les schémas de données propres. Un schéma relationnel textuel (« Role (id, libelle) ; clé primaire : id ») est plus rapide et plus sûr qu'un diagramme dessiné à main levée.
- Pas de couleur rouge ni de surligneur fluo : les copies sont souvent numérisées pour la correction.
Exercices
Exercice 1 sur 2 Améliorer trois réponses Réussi À revoir
Réécris chaque réponse pour qu'elle rapporte tous ses points.
- Question : « Expliquer pourquoi les mots de passe en clair doivent être supprimés de la base de données. » Réponse : « Parce que c'est dangereux. »
- Question : « Identifier, dans le projet OWASP Top Ten 2021, la faille de sécurité décelée » (un utilisateur modifie le document d'un autre client en changeant
doc_iddans l'URL). Réponse : « Faille de sécurité. » - Question : « Citer deux impacts d'une attaque réussie par rançongiciel sur le SI de Casterman. » Réponse : une page sur l'histoire des rançongiciels.
Voir la réponseMasquer la réponse de l'exercice 1
- « Un mot de passe stocké en clair est lisible par toute personne qui accède à la base : un administrateur, un attaquant qui la vole par injection ou une copie de sauvegarde égarée. Comme beaucoup d'utilisateurs réutilisent leur mot de passe, la fuite compromettrait aussi leurs autres comptes (messagerie, banque). Seule une empreinte (hash) produite par une fonction lente et salée doit être stockée. »
- « A01:2021 – Contrôles d'accès défaillants. Le serveur ne vérifie pas que le document identifié par
doc_idappartient au client connecté : un utilisateur authentifié agit sur une donnée pour laquelle il n'a pas de droits. » - Deux lignes suffisent : « 1. Arrêt de l'activité : les données de BDPro et les contrats numérisés sont chiffrés et inaccessibles, les éditeurs ne peuvent plus travailler et l'envoi des PDF à l'imprimeur est bloqué. 2. Coûts financiers et atteinte à l'image : restauration, expertise, retards de publication, perte de confiance des auteurs et des partenaires. »
Tu avais trouvé ?
Exercice 2 sur 2 Repérer le verbe et la longueur Réussi À revoir
Pour chaque question, indique la longueur de réponse attendue (une ligne, un paragraphe, du code) et ce qui la rend complète.
- « Indiquer dans quel document la violation de données doit obligatoirement être consignée. »
- « Justifier le choix retenu d'utiliser un déclencheur (trigger) pour réaliser le contrôle. »
- « Modifier le code source du fichier traitement_inscription.php pour implémenter cette solution. »
Voir la réponseMasquer la réponse de l'exercice 2
- Une ligne : « Le registre des violations de données à caractère personnel, tenu par le responsable de traitement (article 33, paragraphe 5, du RGPD). »
- Un paragraphe avec au moins deux arguments : le contrôle s'exécute dans la base quelle que soit l'application qui insère le sinistre (site, API d'un partenaire, outil interne) ; il ne peut pas être contourné par un client qui appelle directement la base ou par un développeur qui oublie le contrôle dans une nouvelle application ; la règle est écrite une seule fois.
- Du code : seulement les lignes modifiées, avec leur numéro (ici la ligne 10, où
SHA1()est remplacé parpassword_hash()).
Tu avais trouvé ?