First 50 of 200 questions. Each one lists the choices, the correct answer, and an explanation. The checker at the top of this page saves progress in this browser when it is available.
Continue in the practice tool above to load more questions, 50 at a time.
Question 1Support et mise à disposition de services informatiques
Dans le cadre du support aux utilisateurs, quel élément d'un ticket d'incident permet de mesurer le respect d'un engagement de niveau de service (SLA) ?
- Le service auquel appartient l'utilisateur
- Le niveau de priorité choisi par l'utilisateur
- La date d'ouverture et la date de résolution du ticket Correct answer.
- Le nom du logiciel concerné par l'incident
Explanation
Un SLA définit un délai de prise en charge ou de résolution ; il faut donc comparer l'horodatage d'ouverture et celui de clôture pour vérifier le respect de l'engagement. Les autres champs décrivent le contexte mais ne mesurent pas une durée contractuelle.
Question 2Support et mise à disposition de services informatiques
Un utilisateur ne parvient plus à accéder à son dossier partagé sur le serveur de fichiers. Quelle est la première action du technicien dans une démarche de support structurée ?
- Réinstaller le client VPN de l'utilisateur
- Réinitialiser immédiatement le mot de passe de l'utilisateur
- Reformuler le problème et qualifier l'incident dans l'outil de ticketing Correct answer.
- Redémarrer le serveur de fichiers
Explanation
La qualification consiste à recueillir les faits, reformuler le symptôme et enregistrer l'incident avec sa criticité avant toute modification. Agir sans diagnostic expose à des changements inutiles et à une perte de traçabilité.
Question 3Support et mise à disposition de services informatiques
Quelle commande permet de vérifier la résolution de noms DNS d'un poste client sous Windows ?
- ipconfig /release
- nslookup Correct answer.
- tasklist
- netstat -a
Explanation
nslookup interroge un serveur DNS et affiche la réponse obtenue pour un nom donné, ce qui permet de distinguer un problème de résolution d'un problème de connectivité. Les autres commandes agissent sur la configuration IP, les connexions ou les processus.
Question 4Support et mise à disposition de services informatiques
Quel protocole est utilisé par un technicien pour administrer à distance un équipement réseau en mode texte sécurisé ?
- FTP
- SSH Correct answer.
- Telnet
- SNMP
Explanation
SSH chiffre la session d'administration à distance, y compris l'authentification et les commandes échangées. Telnet transmet en clair, FTP sert au transfert de fichiers et SNMP à la supervision.
Question 5Support et mise à disposition de services informatiques
Dans une démarche ITIL, quelle est la différence entre un incident et une demande de service ?
- L'incident est toujours traité par un prestataire externe, la demande de service en interne
- L'incident est une interruption ou dégradation non planifiée, la demande de service est une prestation prévue Correct answer.
- L'incident concerne le matériel, la demande de service concerne uniquement les logiciels
- L'incident est ouvert par le technicien, la demande de service par l'utilisateur
Explanation
Un incident traduit un écart par rapport au fonctionnement attendu du service, tandis qu'une demande de service correspond à une prestation standard prévue au catalogue. La distinction repose sur la nature de l'événement, pas sur le type de matériel ou l'origine du ticket.
Question 6Support et mise à disposition de services informatiques
Un parc de 40 postes doit recevoir une nouvelle version d'un logiciel métier. Quelle solution est la plus adaptée pour automatiser ce déploiement ?
- Une clé USB circulant de poste en poste
- Un partage réseau où chaque utilisateur copie l'installeur
- Un outil de gestion de parc avec déploiement de paquets logiciels Correct answer.
- Un courriel contenant le lien de téléchargement de l'installeur
Explanation
Un outil de gestion de parc (type OCS/GLPI ou MDM) permet de pousser un paquet, de suivre l'installation et de garantir l'homogénéité des versions. Les méthodes manuelles multiplient les erreurs et empêchent le suivi du déploiement.
Question 7Support et mise à disposition de services informatiques
Un serveur hébergeant une application critique tombe en panne. Quelle mesure de continuité d'activité permet de réduire le temps d'indisponibilité ?
- Archiver les journaux applicatifs sur un disque externe
- Réduire le nombre d'utilisateurs autorisés sur l'application
- Augmenter la fréquence des sauvegardes quotidiennes
- Mettre en place une redondance du serveur avec bascule automatique Correct answer.
Explanation
La redondance avec bascule automatique maintient le service pendant la défaillance d'un composant, ce qui limite directement l'interruption. Les sauvegardes assurent la restauration des données mais impliquent un délai de remise en service.
Question 8Support et mise à disposition de services informatiques
Quel est le rôle d'un plan de reprise d'activité (PRA) dans une organisation ?
- Définir les droits d'accès des utilisateurs aux dossiers partagés
- Lister les logiciels installés sur les postes du parc
- Décrire les procédures de redémarrage des services après un sinistre majeur Correct answer.
- Planifier les mises à jour de sécurité mensuelles
Explanation
Le PRA formalise les procédures, les ressources et les délais de reprise des systèmes après un sinistre, avec des objectifs de type RTO et RPO. Il se distingue d'un simple inventaire ou d'une politique d'habilitation.
Question 9Support et mise à disposition de services informatiques
Un utilisateur se plaint de lenteurs sur son poste. Quelle démarche de diagnostic est la plus rigoureuse ?
- Collecter des indicateurs objectifs (CPU, mémoire, disque, réseau) avant de conclure Correct answer.
- Désinstaller les logiciels récemment installés au hasard
- Demander à l'utilisateur de changer de poste
- Remplacer directement le disque dur du poste
Explanation
La mesure d'indicateurs permet d'identifier le goulot d'étranglement réel avant toute intervention. Remplacer du matériel ou modifier le poste sans données conduit à des actions coûteuses et non justifiées.
Question 10Support et mise à disposition de services informatiques
Quel avantage principal apporte la virtualisation des serveurs dans une infrastructure de services informatiques ?
- Mutualiser les ressources physiques et isoler les services sur des machines virtuelles Correct answer.
- Garantir une sécurité totale sans mise à jour des systèmes invités
- Supprimer le besoin de sauvegarder les données
- Éliminer toute intervention de maintenance sur l'hôte
Explanation
La virtualisation permet d'exécuter plusieurs serveurs isolés sur un même hôte, ce qui améliore le taux d'utilisation et la souplesse de déploiement. Elle ne dispense ni des correctifs, ni des sauvegardes, ni de la maintenance de l'hyperviseur.
Question 11Support et mise à disposition de services informatiques
Un utilisateur reçoit un message suspect lui demandant de saisir ses identifiants sur un site imitant l'intranet. Quelle est la qualification de cette attaque ?
- Hameçonnage (phishing) Correct answer.
- Injection SQL
- Élévation de privilèges
- Déni de service
Explanation
L'hameçonnage consiste à tromper la victime pour lui faire communiquer des informations confidentielles via un site ou un message usurpé. Le déni de service, l'injection SQL et l'élévation de privilèges relèvent d'autres mécanismes techniques.
Question 12Support et mise à disposition de services informatiques
Quelle pratique renforce la sécurité des accès aux services d'administration d'une infrastructure ?
- Partager un compte administrateur commun à toute l'équipe
- Restreindre l'accès par liste blanche d'adresses IP et imposer une authentification forte Correct answer.
- Conserver les mots de passe dans un fichier texte sur le serveur
- Autoriser l'administration depuis n'importe quelle adresse Internet
Explanation
Limiter les sources autorisées et exiger une authentification forte réduit la surface d'attaque des interfaces d'administration. Le partage de comptes ou le stockage en clair empêchent la traçabilité et exposent les secrets.
Question 13Support et mise à disposition de services informatiques
Dans GLPI, à quoi sert la notion de catégorie d'un ticket ?
- À verrouiller définitivement le ticket après création
- À calculer automatiquement le coût de l'intervention
- À classer le ticket pour le router vers la bonne équipe et produire des statistiques Correct answer.
- À chiffrer les échanges entre le technicien et l'utilisateur
Explanation
La catégorie structure le tri du ticket, oriente le routage vers le groupe compétent et alimente les rapports d'activité. Elle n'a pas de fonction de chiffrement, de facturation automatique ni de verrouillage.
Question 14Support et mise à disposition de services informatiques
Un technicien souhaite documenter la résolution d'un incident pour constituer une base de connaissances. Quel élément est indispensable dans le compte rendu ?
- Le modèle de clavier utilisé par l'utilisateur
- Le symptôme observé, la cause identifiée et la solution appliquée Correct answer.
- La liste des sites web visités par l'utilisateur
- Le numéro de téléphone personnel de l'utilisateur
Explanation
Une fiche de connaissance réutilisable décrit le symptôme, la cause et la solution afin qu'un autre technicien puisse traiter un cas similaire. Les données personnelles sans lien avec l'incident n'ont pas à être collectées, par principe de minimisation.
Question 15Support et mise à disposition de services informatiques
Quel est l'intérêt d'un annuaire centralisé de type LDAP pour l'administration des services ?
- Remplacer le besoin de sauvegarde des données métier
- Assurer la supervision des équipements réseau
- Centraliser les comptes et les authentifications pour l'ensemble des applications Correct answer.
- Garantir la disponibilité des serveurs applicatifs
Explanation
Un annuaire centralise les identités et permet une authentification unique sur plusieurs services, ce qui simplifie la gestion des comptes et des droits. Il ne se substitue ni à la supervision, ni à la sauvegarde, ni à la haute disponibilité.
Question 16Support et mise à disposition de services informatiques
Quelle commande permet de tester la joignabilité d'un serveur par écho ICMP depuis un poste Linux ?
- grep
- ifconfig
- ping Correct answer.
- chmod
Explanation
ping envoie des paquets ICMP Echo Request et mesure la réponse, ce qui teste la joignabilité réseau. ifconfig configure les interfaces, chmod modifie les permissions et grep filtre du texte.
Question 17Support et mise à disposition de services informatiques
Une entreprise veut sécuriser l'accès distant de ses salariés nomades aux applications internes. Quelle solution est la plus appropriée ?
- Ouvrir les ports des applications directement sur Internet
- Un VPN avec authentification forte et filtrage des accès Correct answer.
- Un serveur FTP anonyme accessible depuis l'extérieur
- Un partage de fichiers public sans mot de passe
Explanation
Un VPN établit un tunnel chiffré et permet de contrôler les utilisateurs autorisés avant d'accéder aux applications internes. Exposer directement les services ou recourir à des partages ouverts augmente fortement la surface d'attaque.
Question 18Support et mise à disposition de services informatiques
Quel indicateur permet de suivre la qualité du support dans le temps ?
- Le taux de tickets résolus dans le délai SLA Correct answer.
- La quantité de licences logicielles achetées
- Le nombre de serveurs physiques du datacenter
- Le nombre de câbles réseau installés dans le bâtiment
Explanation
Le taux de respect des SLA mesure la capacité du support à traiter les demandes dans les délais promis, ce qui reflète directement la qualité du service rendu. Les autres indicateurs portent sur l'infrastructure ou les achats.
Question 19Support et mise à disposition de services informatiques
Quel est le rôle d'une zone démilitarisée (DMZ) dans une architecture réseau ?
- Héberger les services exposés à Internet en les isolant du réseau interne Correct answer.
- Stocker les sauvegardes hors site
- Servir de salle de repos pour les techniciens
- Remplacer le pare-feu périmétrique
Explanation
La DMZ isole les serveurs accessibles depuis Internet du réseau interne, de sorte qu'une compromission d'un service exposé ne donne pas directement accès au système d'information. Elle complète le pare-feu, elle ne le remplace pas.
Question 20Support et mise à disposition de services informatiques
Un utilisateur demande l'installation d'un logiciel absent du catalogue interne. Quelle réponse du support est conforme à la politique de l'organisation ?
- Installer le logiciel immédiatement pour satisfaire l'utilisateur
- Vérifier la conformité de la demande puis l'orienter vers la procédure de validation prévue Correct answer.
- Demander à l'utilisateur de l'installer lui-même sans contrôle
- Refuser sans explication et clôturer le ticket
Explanation
Une demande hors catalogue doit être évaluée au regard des règles de l'organisation, puis suivre le circuit de validation adapté. Installer sans contrôle ou refuser sans explication nuit à la sécurité et à la qualité du service.
Question 21Support et mise à disposition de services informatiques
Quel mécanisme permet de garantir l'intégrité d'un fichier téléchargé depuis un serveur ?
- Renommer le fichier avec une extension différente
- Vérifier la taille en octets affichée dans l'explorateur
- Ouvrir le fichier pour vérifier qu'il se lance
- Comparer l'empreinte cryptographique du fichier avec celle publiée par l'éditeur Correct answer.
Explanation
Une empreinte comme SHA-256 change dès qu'un octet du fichier est modifié ; la comparer à la valeur de référence permet de détecter une altération. La taille ou le lancement du fichier ne prouvent pas son intégrité.
Question 22Support et mise à disposition de services informatiques
Dans une infrastructure virtualisée, quel est l'effet d'un sur-engagement excessif de la mémoire de l'hôte ?
- L'hyperviseur désactive la vérification d'intégrité des invités
- Les machines virtuelles obtiennent automatiquement plus de mémoire physique
- Les sauvegardes des machines virtuelles deviennent inutiles
- Le ballonnement mémoire dégrade les performances des machines virtuelles Correct answer.
Explanation
Lorsque la mémoire allouée dépasse la mémoire physique disponible, l'hyperviseur récupère des pages par ballonnement ou échange, ce qui ralentit les invités. Il ne crée pas de ressource supplémentaire et n'a aucun effet sur la nécessité des sauvegardes.
Question 23Support et mise à disposition de services informatiques
Un service web doit rester disponible malgré la maintenance d'un serveur. Quelle architecture répond le mieux à cette exigence ?
- Une machine virtuelle hébergée sur un poste utilisateur
- Un serveur sauvegardé chaque semaine sur bande
- Un unique serveur plus puissant redémarré la nuit
- Plusieurs serveurs derrière un répartiteur de charge avec bascule Correct answer.
Explanation
La redondance derrière un répartiteur permet de retirer un serveur de la rotation pendant sa maintenance sans interrompre le service. Un serveur unique, même puissant, reste un point unique de défaillance.
Question 24Support et mise à disposition de services informatiques
Quel est l'objectif d'un test de restauration périodique dans une politique de sauvegarde ?
- Augmenter la capacité de stockage des bandes
- Réduire le nombre de sauvegardes à réaliser
- Vérifier que les données sauvegardées sont réellement exploitables en cas de sinistre Correct answer.
- Remplacer la supervision des serveurs
Explanation
Une sauvegarde n'a de valeur que si elle peut être restaurée ; le test périodique valide l'intégrité des données et la procédure de restauration. Il ne modifie ni la capacité de stockage ni le plan de supervision.
Question 25Support et mise à disposition de services informatiques
Un utilisateur signale que son accès au dossier partagé a été refusé après un changement de service. Quelle cause est la plus probable ?
- Le câble réseau du poste est débranché
- Le serveur de fichiers a été éteint
- Le client de messagerie est mal configuré
- Son appartenance aux groupes d'accès n'a pas été mise à jour Correct answer.
Explanation
Les droits sur un dossier partagé reposent souvent sur des groupes ; un changement de service nécessite l'ajustement des appartenances. Un serveur éteint, un câble débranché ou la messagerie produiraient d'autres symptômes ou n'auraient aucun lien.
Question 26Conception et développement d'applications
En PHP, quelle instruction permet de vérifier qu'un formulaire a bien été soumis en méthode POST avant de lire $_POST ?
- if ($_SERVER['REQUEST_METHOD'] === 'POST') Correct answer.
- if (isset($_GET['submit']))
- if ($_POST == true)
- if (method_exists($_POST, 'POST'))
Explanation
La superglobale $_SERVER contient la clé REQUEST_METHOD qui indique la méthode HTTP utilisée pour la requête courante. On la compare à la chaîne 'POST' pour n'exécuter le traitement que lors d'une soumission. Tester $_POST directement ne prouve pas la méthode utilisée et method_exists attend un nom de classe ou d'objet, pas un tableau.
Question 27Conception et développement d'applications
Dans un diagramme de cas d'utilisation UML, quelle relation indique qu'un cas d'utilisation en réutilise obligatoirement le comportement d'un autre ?
- La généralisation
- L'inclusion (include) Correct answer.
- L'extension (extend)
- L'association simple
Explanation
La relation d'inclusion signifie que le cas d'utilisation de base exécute systématiquement le cas inclus, comme une étape obligatoire. L'extension est conditionnelle et optionnelle, tandis que la généralisation exprime une spécialisation entre acteurs ou cas. L'association relie acteur et cas sans mécanisme de réutilisation.
Question 28Conception et développement d'applications
En SQL, quelle clause permet de filtrer les groupes obtenus après un GROUP BY ?
- ORDER BY
- WHERE
- DISTINCT
- HAVING Correct answer.
Explanation
HAVING s'applique après le regroupement et peut porter sur des fonctions d'agrégat comme COUNT ou SUM. WHERE filtre les lignes avant le GROUP BY et ne peut pas utiliser directement ces agrégats. ORDER BY trie le résultat et DISTINCT élimine les doublons de lignes.
Question 29Conception et développement d'applications
En Java, quelle affirmation décrit correctement la différence entre une interface et une classe abstraite ?
- Une classe abstraite ne peut déclarer aucune méthode concrète
- Une interface peut contenir des attributs d'instance modifiables
- Une classe peut implémenter plusieurs interfaces mais n'hériter que d'une seule classe Correct answer.
- Une interface ne peut jamais déclarer de méthode avec un corps
Explanation
Java autorise l'héritage simple pour les classes mais l'implémentation de plusieurs interfaces, ce qui permet de composer des contrats. Une classe abstraite peut contenir des méthodes concrètes et une interface peut, depuis Java 8, proposer des méthodes default avec un corps. Les attributs d'interface sont implicitement public static final, donc non modifiables.
Question 30Conception et développement d'applications
Quel principe SOLID recommande qu'une classe ne possède qu'une seule raison de changer ?
- Liskov Substitution Principle
- Single Responsibility Principle Correct answer.
- Dependency Inversion Principle
- Open/Closed Principle
Explanation
Le Single Responsibility Principle énonce qu'une classe doit avoir une seule responsabilité, donc une seule raison de changer. Open/Closed concerne l'ouverture à l'extension et la fermeture à la modification, Liskov la substituabilité des sous-types et Dependency Inversion le sens des dépendances.
Question 31Conception et développement d'applications
En HTML, quel élément est le plus approprié pour regrouper un libellé et son champ de saisie dans un formulaire accessible ?
- <section>
- <span>
- <div>
- <fieldset> avec <legend> Correct answer.
Explanation
L'élément fieldset regroupe des champs liés et l'élément legend fournit un intitulé au groupe, ce qui aide les technologies d'assistance. Un div ou un span n'apporte aucune sémantique de groupe de formulaire. Section est prévu pour délimiter une section thématique de document, pas un groupe de champs.
Question 32Conception et développement d'applications
Quelle commande Git crée une nouvelle branche nommée feature et bascule immédiatement dessus ?
- git clone feature
- git branch feature
- git merge feature
- git checkout -b feature Correct answer.
Explanation
git checkout -b crée la branche à partir de la position courante puis y bascule dans la même opération, ce que fait aussi git switch -c. git branch seule crée la branche sans changer de branche courante. Merge intègre une branche existante et clone duplique un dépôt distant.
Question 33Conception et développement d'applications
En programmation orientée objet, quel terme désigne le fait de masquer les détails internes d'un objet derrière une interface publique ?
- L'héritage
- L'encapsulation Correct answer.
- Le polymorphisme
- La surcharge
Explanation
L'encapsulation consiste à regrouper l'état et le comportement dans une classe tout en limitant l'accès direct aux attributs via des modificateurs comme private. Le polymorphisme permet des comportements différents selon le type réel, la surcharge distingue des méthodes par leur signature et l'héritage réutilise une classe parente.
Question 34Conception et développement d'applications
En PHP, quelle expression récupère la valeur du champ email envoyé en POST en évitant un avertissement si le champ est absent ?
- $email = $_POST->email;
- $email = get_post('email');
- $email = $_POST['email'] ?? ''; Correct answer.
- $email = $_POST['email'];
Explanation
L'opérateur de coalescence nulle ?? renvoie l'opérande de droite lorsque la clé n'existe pas ou vaut null, sans émettre d'avertissement. L'accès direct à une clé absente déclenche un warning. $_POST est un tableau, donc la syntaxe objet est invalide, et get_post n'est pas une fonction native de PHP.
Question 35Conception et développement d'applications
Une table commande possède une clé étrangère id_client vers la table client. Quel est l'effet d'une contrainte ON DELETE CASCADE sur cette clé ?
- La suppression d'un client est propagée uniquement après validation d'un trigger
- La suppression d'un client supprime automatiquement ses commandes liées Correct answer.
- La suppression d'un client est refusée tant qu'il a des commandes
- La suppression d'un client met à null la clé étrangère des commandes
Explanation
ON DELETE CASCADE propage la suppression de la ligne référencée aux lignes enfants qui la référencent, assurant l'absence de clés étrangères orphelines. Le refus correspond à RESTRICT ou NO ACTION, et la mise à null à ON DELETE SET NULL. Aucun trigger manuel n'est nécessaire.
Question 36Conception et développement d'applications
En JavaScript, quelle affirmation décrit correctement la portée d'une variable déclarée avec let à l'intérieur d'un bloc for ?
- Elle est accessible uniquement si le bloc est exécuté au moins deux fois
- Elle devient une propriété globale de window
- Elle est limitée au bloc du for et à ses itérations Correct answer.
- Elle est accessible dans toute la fonction englobante
Explanation
let et const sont soumis à la portée de bloc : une variable déclarée dans le bloc du for n'existe que dans ce bloc et pour chaque itération. var, au contraire, remonte à la fonction englobante. Une déclaration let en portée globale ne crée pas de propriété de window, contrairement à var.
Question 37Conception et développement d'applications
Dans une architecture MVC, quel composant valide les données reçues et applique les règles métier avant de préparer la réponse ?
- Le routeur
- Le modèle Correct answer.
- Le contrôleur
- La vue
Explanation
Le modèle porte la logique métier et les règles de validation des données, indépendamment de la présentation. Le contrôleur orchestre la requête et choisit la vue, la vue affiche les données et le routeur associe une URL à un contrôleur.
Question 38Conception et développement d'applications
En UML, quelle relation entre deux classes indique une composition, c'est-à-dire une dépendance forte où la partie ne survit pas au tout ?
- Une association simple
- Une composition avec losange plein Correct answer.
- Une agrégation avec losange vide
- Une dépendance en pointillés
Explanation
La composition se représente par un losange plein du côté du tout : la partie est détruite avec le tout et ne peut pas être partagée. L'agrégation, losange vide, exprime une relation plus faible où la partie peut exister indépendamment. La dépendance pointillée traduit un usage ponctuel sans appartenance.
Question 39Conception et développement d'applications
Quel est le rôle principal d'un test unitaire dans une démarche de développement d'application ?
- Remplacer la revue de code par une validation automatique du style
- Vérifier le comportement d'une unité de code isolée et documenter son contrat Correct answer.
- Garantir l'absence totale de défauts dans le logiciel livré
- Mesurer la charge réseau de l'application en production
Explanation
Un test unitaire isole une unité de code, souvent une méthode, et vérifie son comportement attendu de façon rapide et reproductible. Il sert aussi de documentation exécutable du contrat de l'unité. Il ne mesure pas la performance en production et ne peut jamais garantir l'absence totale de défauts.
Question 40Conception et développement d'applications
En PHP, quel modificateur de visibilité empêche l'accès à une méthode depuis l'extérieur de la classe et depuis ses classes filles ?
- public
- protected
- static
- private Correct answer.
Explanation
private restreint l'accès au seul code de la classe déclarante, les classes filles n'y ont pas accès. protected autorise l'accès dans la classe et ses héritières, tandis que public l'ouvre à tous. static décrit l'appartenance à la classe et non un niveau de visibilité.
Question 41Conception et développement d'applications
Une requête HTML est envoyée en POST vers un script PHP qui redirige par header('Location: ...') sans terminer par exit. Quel risque fonctionnel apparaît ?
- Le code situé après la redirection peut s'exécuter malgré l'envoi de l'en-tête Correct answer.
- La session PHP est détruite immédiatement après l'envoi du header
- La redirection est automatiquement convertie en requête GET par Apache
- Le navigateur ignore toute redirection issue d'un POST
Explanation
header envoie l'en-tête mais n'interrompt pas le script : sans exit ou die, la suite du code continue de s'exécuter, ce qui peut provoquer des traitements non désirés. La redirection HTTP transforme bien la requête suivante en GET, mais cela ne dépend pas de l'absence d'exit. Ni la session ni la redirection ne sont annulées pour autant.
Question 42Conception et développement d'applications
Quel mécanisme protège une application web contre l'injection SQL dans une requête préparée PDO ?
- La concaténation des valeurs dans la chaîne SQL après échappement manuel
- La séparation entre le modèle de requête et les paramètres liés Correct answer.
- L'utilisation systématique de la fonction htmlspecialchars sur les entrées
- Le passage de la requête en méthode GET plutôt qu'en POST
Explanation
La requête préparée envoie d'abord le modèle SQL au serveur, puis les valeurs en tant que paramètres liés, de sorte qu'elles ne peuvent pas modifier la structure de la requête. L'échappement manuel par concaténation reste fragile et dépend du contexte. htmlspecialchars protège la sortie HTML, pas la base, et le changement de méthode HTTP n'a aucun effet sur l'injection.
Question 43Conception et développement d'applications
En Java, quelle structure garantit qu'une collection ne contient aucun doublon tout en conservant un ordre d'insertion ?
- ArrayList
- HashSet
- HashMap
- LinkedHashSet Correct answer.
Explanation
LinkedHashSet combine l'unicité d'un Set avec une liste chaînée interne qui maintient l'ordre d'insertion lors de l'itération. HashSet garantit l'unicité mais pas l'ordre, ArrayList autorise les doublons et HashMap stocke des paires clé-valeur.
Question 44Conception et développement d'applications
Dans une application web, quel est l'intérêt principal d'un jeton CSRF dans un formulaire ?
- Authentifier l'utilisateur à chaque requête sans session serveur
- Limiter le nombre de requêtes par minute par adresse IP
- Chiffrer les données du formulaire pendant le transport
- Vérifier que la soumission provient bien de la session légitime et non d'un site tiers Correct answer.
Explanation
Le jeton CSRF est une valeur imprévisible liée à la session et insérée dans le formulaire ; le serveur la vérifie pour refuser une soumission forgée depuis un autre site. Le chiffrement du transport relève de HTTPS, l'authentification sans session des jetons de type JWT, et la limitation de débit d'un mécanisme de throttling.
Question 45Conception et développement d'applications
Quelle requête SQL calcule le nombre de commandes par client en n'affichant que les clients ayant au moins trois commandes ?
- SELECT id_client, COUNT(*) FROM commande WHERE COUNT(*) >= 3 GROUP BY id_client;
- SELECT id_client, COUNT(*) FROM commande HAVING COUNT(*) >= 3;
- SELECT id_client, COUNT(*) FROM commande GROUP BY id_client WHERE COUNT(*) >= 3;
- SELECT id_client, COUNT(*) FROM commande GROUP BY id_client HAVING COUNT(*) >= 3; Correct answer.
Explanation
Le regroupement par client s'effectue avec GROUP BY, puis le filtre sur l'agrégat s'applique avec HAVING après le regroupement. WHERE ne peut pas porter sur COUNT(*) avant le GROUP BY, et l'ordre des clauses impose HAVING après GROUP BY. Sans GROUP BY, la requête ne produirait qu'un total global.
Question 46Conception et développement d'applications
Un développeur doit faire évoluer un module dont la logique métier est dupliquée dans plusieurs contrôleurs. Quelle refactorisation répond le mieux au principe DRY ?
- Ajouter des commentaires expliquant chaque duplication
- Recopier la logique dans une bibliothèque partagée sans modifier les contrôleurs
- Extraire la logique commune dans un service dédié appelé par les contrôleurs Correct answer.
- Remplacer les contrôleurs par une seule classe très longue
Explanation
DRY vise une source unique de vérité : extraire la logique dupliquée dans un service centralisé évite les corrections divergentes. Commenter la duplication ne supprime pas le risque, et recopier encore le code dans une bibliothèque perpétue la duplication. Fusionner tout dans une classe unique viole la séparation des responsabilités.
Question 47Conception et développement d'applications
En PHP, une classe abstraite Animal déclare la méthode abstraite parler(). Quelle affirmation est exacte concernant une classe Chien qui l'étend ?
- Chien peut instancier Animal pour appeler parler()
- Chien doit implémenter parler() ou être déclarée abstraite à son tour Correct answer.
- Chien hérite automatiquement d'une implémentation vide de parler()
- Chien ne peut redéfinir parler() qu'avec le même corps que Animal
Explanation
Une méthode abstraite n'a pas de corps : toute classe concrète qui hérite doit la redéfinir, sinon elle doit elle-même être déclarée abstraite. Une classe abstraite ne peut pas être instanciée directement. Redéfinir avec un corps identique n'aurait aucun sens puisque la méthode parente n'en possède pas.
Question 48Conception et développement d'applications
Une application PHP utilise le pattern Singleton pour un service de configuration. Quel inconvénient constitue l'argument principal contre son usage généralisé ?
- Il interdit la lecture de fichiers de configuration externes
- Il introduit un état global et rend les dépendances implicites difficiles à tester Correct answer.
- Il impose une connexion réseau unique obligatoire
- Il empêche la sérialisation de toute la configuration
Explanation
Le Singleton crée un point d'accès global à une instance unique, ce qui masque les dépendances réelles et complique l'isolation dans les tests unitaires. Il n'empêche ni la lecture de fichiers ni la sérialisation en soi. Rien n'impose une connexion réseau unique : le problème est la dépendance implicite et l'état partagé.
Question 49Conception et développement d'applications
Dans une base relationnelle, une table inscrit(id_etudiant, id_cours, date_inscription) possède une clé primaire composite (id_etudiant, id_cours). Quelle anomalie de conception apparaît si l'on ajoute le nom de l'étudiant dans cette table ?
- Une violation immédiate de la clé primaire composite
- Une perte de la contrainte d'intégrité référentielle
- Une impossibilité d'indexer la clé composite
- Une redondance avec risque d'incohérence lors des mises à jour Correct answer.
Explanation
Le nom de l'étudiant dépend uniquement de id_etudiant, pas de la clé composite entière : c'est une dépendance partielle qui viole la deuxième forme normale. Répéter ce nom sur chaque inscription crée une redondance et un risque d'anomalie de mise à jour. La clé composite reste valide et l'intégrité référentielle n'est pas supprimée.
Question 50Conception et développement d'applications
Une API REST renvoie systématiquement le code 200 avec un champ erreur dans le corps pour signaler un échec de validation. Quel problème majeur cela pose-t-il pour les clients ?
- Cela rend impossible l'utilisation de HTTPS
- Cela force l'utilisation du protocole SOAP à la place de REST
- Les clients doivent analyser le corps pour détecter l'échec, ce qui casse la sémantique HTTP et les mécanismes automatiques Correct answer.
- Cela empêche la sérialisation JSON de la réponse
Explanation
Les codes HTTP portent une sémantique que les clients, proxies et bibliothèques exploitent automatiquement ; un 4xx signale une erreur de requête. Renvoyer 200 avec un champ erreur oblige à inspecter le corps et trompe ces mécanismes. Cela n'a aucun effet sur la sérialisation JSON, sur le choix de SOAP ou sur HTTPS.