QCM developpement web corrigé pour réviser ensemble
L1 Option Programmation Web côté Serveur - Contrôle continu n°1
Nom, Prénom et N° étudiant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
0 ??spondantes à votre numéro d’étudiant (1Veuillez noircir les cases corre-
1
case/colonne). Si votre N° est 21056798,
2 il faut noircir le 2 dans la 1ère colonne ,
3 le 1 dans la 2ème colonne…
4
5
6
7
8
9
Valider une case : Utilisez un stylo NOIR (n’utilisez pas de correcteur) et respectez les consignes sur comment cocher une case. La correction est automatique…. (équité et anonymat)
Barème : Pour chacune des questions ci-dessous il y a au moins une réponse de juste et au moins une réponse de fausse. Cochez comme indiqué ci-dessus l’ensemble des réponses justes pour obtenir tous les points. Mais attention, chaque erreur (réponse juste non cochée ou réponse fausse cochée) entrainera une pénalité. Une question entièrement vide (aucune case de cochée) sera considérée comme ”non répondue” (pas de pénalité).
Q. 2 Le code suivant affiche « Ceci est un piège »… <?php
session_start();
$_SESSION = array();
$_SESSION[”lespieges”] = array(); if(! isset($_SESSION[”piege”])) echo ”Ceci est un piège”;
S’il existe déjà une session, et qu’elle contient une variable ”piege”. non, à cause de l’erreur : « PHP Parse error : syntax error, unexpected trap in on line 6 » S’il existe déjà une session, et qu’elle ne contient pas de variable ”piege”.
Jamais
Tout le temps.
Aucune des réponses précédentes ne convient
Q. 3 Pour ce qui concerne notre UE, PHP signifie :
Hypertext Preprocessor
Personal HTTP Preprocessor
Powerful HTML Preprocessor
Pigeonhole Principle
Personal Home Page
Aucune des réponses précédentes ne convient
Q. 4 À propos de l’inclusion de code…
Par convention, un fichier .inc est un fichier PHP destiné à être inclus require_once ne doit pas être utilisé pour inclure des fichiers de fonctions
C’est une bonne pratique de définir une classe dans un fichier à part, et de l’inclure ensuite en cas de besoin les variantes _once ne doivent être utilisées qu’une fois par fichier Aucune des réponses précédentes ne convient
Q. 5 Le code suivant :
<?php function afficheFormulaire($action,$titre,$champs) {
$res=”<form action=\”$action\” method=\”POST\”>\n”; $res.=”<fieldset>\n”;
$res.=”<legend>$titre</legend>”;
foreach($champs as $n=>$c) $res.=”<input name=\”$n\” type=n”; \”{$c[”type”]}\” value=\”{$c[”value”]}\” />\n”; $res.=”</fieldset>\n</form>\
return $res;
}
Contient une faute de frape
Permet de générer n’importe quel type de formulaire
N’affiche rien
Permet de générer automatiquement des formulaires
Affiche un formulaire
Aucune des réponses précédentes ne convient
Q. 6 Que fait le code PHP suivant : <?php for i in range(42): print i
Il affiche tous les nombres de 1 à 41
Il génère l’erreur : « PHP Parse error : syntax error, unexpected ’i’ (T_STRING), expecting ’(’ in on line 2 »
Il affiche tous les nombres de 1 à 42
Il affiche tous les nombres de 0 à 41
Il affiche tous les nombres de 0 à 42
Aucune des réponses précédentes ne convient
Q. 7 Pour accéder à la méthode publique « cocherCase » de l’instance $case de la classe Cocher, on doit utiliser la syntaxe :
$case=>cocherCase(…)
$case.cocherCase(…)
Cocher->$case()
$case->cocherCase(…)
Aucune des réponses précédentes ne convient
Q. 8 Comment être sûr que les données reçues par GET ou POST sont valides ?
Il suffit de mettre un mot de passe dans un champ hidden et de vérifier s’il est correct
Il faut faire des tests en PHP, éliminer les caractères potentiellement dangereux, et convertir les valeurs à la main quand elles sont sensées avoir un type bien particulier.
Il n’y a rien à faire, les données reçues sont forcément valides
Il suffit de forcer le formulaire à envoyer des données correctes Aucune des réponses précédentes ne convient
Q. 9 À propos du passage de paramètre à une page PHP, on peut dire que :
pour récupérer les valeurs passées en paramètres, il faut utiliser le tableau $_GET l’url ressemble à http(s)://serveur/page;var=val;autrevar=autreval l’url ressemble à http(s)://serveur/page?var=val&autrevar=autreval il faut toujours utiliser un formulaire pour passer des paramètres Aucune des réponses précédentes ne convient
Q. 10 Le mot-clé glob
Prend deux paramètres, dont un optionnel
Est une incantation liturgique invoquant votre signe astrologique chance qui vient alors vous aider pendant les QCM de PHP
Affiche une liste de fichiers
N’affiche rien
Ne peut prendre qu’un seul paramètre
Aucune des réponses précédentes ne convient
Q. 11 Qu’affiche le morceau de php suivant
<?php
$capitales = array( ”Singapour” => ”Singapour”, ”France” => ”Paris”, ”Australie” => ”Camberra” ); foreach($capitales as $c) {
echo ”$c ”;
}
« PHP Parse error : syntax error, unexpected ’”’ in on line 3 »
« array( [Singapour] => Singapour,[France] => Paris, [Australie] => Camberra) »
« Array Array Array »
« Singapour France Australie »
« Singapour Paris Camberra »
Aucune des réponses précédentes ne convient
Q. 12 Une classe en PHP :
Permet de rassembler des fonctions, alors appelées méthodes
Permet d’établir un lien entre les fonctions et les données
Ne sert à rien d’autre qu’à faire des menus
Permet de rassembler des structures de données Aucune des réponses précédentes ne convient
Q. 13 Le(s)quel(s) de ces mots-clés sont des noms de primitives PHP : is_a is_object instanceof classof is_b
Aucune des réponses précédentes ne convient
Q. 14 L’instance d’une classe est :
une session un tableau un objet une classe
Aucune des réponses précédentes ne convient
Q. 15 À propos de la fonction header()
Elle permet d’envoyer des en-têtes HTTP
Elle ne peut plus être utilisée si du texte a déjà été affiché
Elle peut servir à rediriger vers un fichier de type image/png
Elle permet d’envoyer des en-têtes HTML
Aucune des réponses précédentes ne convient
Q. 16 L’encapsulation dans le paradigme objet permet de… ranger des fonctions dans des fichiers .inc changer ses structures de données privées sans modifier de code hors de la classe reboucher sa bouteille de bière pour ne pas laisser celle-ci s’éventer changer ses méthodes privées sans modifier de code hors de la classe définir une API pour les classes
Aucune des réponses précédentes ne convient
Q. 17 Que fait le code PHP suivant : <?php class Cocher {
public $cases = array( 0=> false, 1=>false, 2=>false, 3=>false );
public afficheCases() {
foreach($this->cases as $n => $v) { if($v) echo ”case $n cochée\n”; n”;
else echo ”case $n non-cochée\
}
}
}
$question = new Cocher(); contient une erreur car $this n’est pas défini définit une classe Cocher définit une méthode privée afficheCases instancie une classe Cocher
Aucune des réponses précédentes ne convient
Q. 18 Lors d’un upload de fichiers…
La superglobale $_FILES n’existe pas, il faut utiliser la superglobale $_SERVER
Il est impossible d’uploader plusieurs fichiers en même temps
La superglobale $_FILES permet de récupérer le nom provisoire du fichier reçu par le serveur
Il est impossible d’uploader un fichier d’extension .php
La superglobale $_FILES permet de récupérer le nom du fichier sur l’ordinateur du client Aucune des réponses précédentes ne convient
Q. 19 La boucle foreach de PHP permet :
de parcourir les éléments d’un tableau associatif de parcourir les éléments d’un tableau indexé numériquement d’exécuter des lignes de code pour chaque élément d’un tableau de parcourir les étiquettes d’un tableau associatif Aucune des réponses précédentes ne convient
Q. 20 En PHP, le mot clé « public » permet de définir une méthode de classe, accessible par tous permet d’accéder aux variables globales indique les objets qui ont le droit d’accéder à la classe permet de définir un champ d’une classe, accessible par tous n’est pas un mot clé valide Aucune des réponses précédentes ne convient