Vous êtes sur la page 1sur 9

EXAMEN NATIONAL DE LICENCE PROFESSIONNELLE de 2021

OPTION : Systèmes Informatiques et Logiciel (SIL)


Epreuve de pratique professionnelle
Durée : 2 heures

Dans un cabinet de développement, vous êtes associé à une équipe de développeurs qui sont
sur un projet de développement d’application web. Vous devez lire et comprendre une partie
du code afin de l’améliorer.

infos.html
<html>
<head>
1 <metacharset="utf-8">
<title>Vérifier les saisies de formulaire</title>
<script type="text/javascript">
<!--
function vcm_formulaire()
{
if(document.formulaire.nom.value== "") {
alert("Veuillez entrer votre nom!");
document.formulaire.nom.focus();
returnfalse;
}
if(document.formulaire.mot_de_passe.value== "") {
alert("Veuillez entrer votre mot de passe!");
document.formulaire.mot_de_passe.focus();
returnfalse;
}
if(document.formulaire.courriel.value== "") {
alert("Veuillez mettre l'@!");
document.formulaire.courriel.focus();
returnfalse;
}
2 if(document.formulaire.courriel.value.indexOf('@') == -1) {
alert("Veuillez mettre l'@!");
document.formulaire.courriel.focus();

1 sur 8
returnfalse;
}
3 if(document.formulaire.age.value== "") {
alert("L'age doit être un nombre!");
document.formulaire.age.focus();
returnfalse;
}
varchkZ= 1;
for(i=0;i<document.formulaire.age.value.length;++i)
if(document.formulaire.age.value.charAt(i)< "1"
||document.formulaire.age.value.charAt(i)> "99")
chkZ=-1;
if(chkZ==-1) {
alert("votre age n'est pas correcte veuillez mettre un nombre !!!");
document.formulaire.age.focus();
returnfalse;
}
}
//-->
</script>
</head>
<bodybgcolor="#EEEEEE" text="#000000">
<h1>formulaire</h1>
<p>Les champs avec * sont obligatoires</p>
<formid = "identite" name="formulaire" action="mailto:gestionnaire@examen.gouv"
method="post" onSubmit="return vcm_formulaire()">
<label><b>Nom :</b></label>
<input type="text" size = 40 placeholder="Entrer le nom" name="nom" required/>
label><b>Mot de passe :</b></label>
<input type="text" size = 40 placeholder="Entrer le mot de passe" name="mot_de_passe"
required/>
<label><b>Courriel :</b></label>
<input type="text" size = 40 placeholder="entrer votre email :" name="courrielrequired/>
<label><b>Age :</b></label>
<input type="number" placeholder="entrer votre age :" name="agerequired/>
<input type="submit" value="Envoyer"><input type="reset" value="Tout enlever">
Pour envoyer vous devez être connecté à Internet!

2 sur 8
</form>
</body>
</html>

1- La ligne en gras numéro 1 signifie que


a. les caractères sont unifiés
b. les caractères sont conformes aux normes utf-8
c. les caractères accentués sont reconnus
d. les caractères arabes sont aussi reconnus
e. seuls les caractères non accentués sont reconnus

2- Le code de la fonction vcm_formulaire()


a. est écrit avec des instructions CSS
b. est une fonction html
c. est écrit en Java
d. est écrit en Javascript

3- A cause de la présence de la fonction vcm_formulaire(), le fichier peut être enregister


avec l’extension :
a. .php
b. .js
c. .java
d. .css
e. Aucune des réponses

4- La fonction vcm_formulaire()
a. vérifie que le mot de passe est valide et existe dans une base de données
b. vérifie que les informations saisies sont valables et existent dans une base de
données
c. vérifie si les informations existent et sont bien orthographiées
d. vérifie que les données saisies respectent le bon format
e. vérifie que tous les champs de saisie sont vides

5- La ligne 3 est une boucle


a. pour compter les caractères

3 sur 8
b. pour vérifier que chaque caractère correspond à un chiffre
c. qui précise que le paragraphe de l’utilisateur est incorrect est mis au rouge
d. pour afficher en rouge sur une ligne, un message de mot de passe ou
d’utilisateur incorrects.
e. qui permet de créer un paragraphe avec un message de nom d’utilisateur ou de
mot de passe incorrect.

Soit le fichier style.css

4 body{
background: #67BE4B;
}
/* Borderedform */

5 #identite {
width:100%;
padding: 30px;
border: 1px solid #f1f1f1;
background: #fff;
box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2), 0 5px 5px 0 rgba(0, 0, 0, 0.24);
}
6 input[type=text], input[type=password] {
width: 100%;
padding: 12px 20px;
margin: 8px 0;
display:inline-block;
border: 1px solid #ccc;
box-sizing: border-box;
}

7 input[type=submit] {
background-color: #53af57;
color: white;
padding: 14px 20px;

4 sur 8
margin: 8px 0;
border: none;
cursor: pointer;
width: 100%;
}
8 input[type=submit]:hover {
background-color: white;
color: #53af57;
border: 1px solid #53af57;
}

6- La règle 4 de la feuille de style permet de


a. numéroter l’arrière plan d’une page
b. donner un numéro à l’arrière plan de la feuille de style
c. colorer la feuille de style à la couleur correspondant au code
d. colorer la page web à laquelle elle est liée à la couleur correspondant au code

7- identite dans la règle 5 de la feuille de style est


a. le nom d’une balise
b. l’identifiant d’une balise
c. le nom d’une classe de balises
d. l’identifiant d’une classe de balises
e. aucune bonne réponse

8- La règle 6 met à jour


a. des zones de saisie de mot de passe
b. des zones de saisie en élargissant à 100% la taille de ces éléments
c. les zones de saisie normale et de saisie des mots de passe
d. les zones utilisées pour introduire les données dans la base de données
e. les zones d’insertion d’information dans les fichiers

5 sur 8
9- La règle 7 concerne
a. les formes des objets
b. la forme des zones de saisie
c. une zone de soumission
d. un bouton pour soumettre le formulaire
e. un bouton soumis aux données d’entrée

10- La règle 8 met à jour


a. l’état des zones de saisies lorsqu’on clique sur le bouton
b. l’état des zones de saisies lorsqu’on clique droit sur le bouton
c. l’état des zones de saisies lorsqu’on survole du curseur, le bouton
d. l’état du bouton de commande lorsqu’on survole du curseur, le bouton
l’élément
e. l’état des zones de saisies lorsqu’on le curseur les survole

La vérification des données saisies doit se faire à l’aide du sous-programme ci-dessous

verification.php

<?php
session_start();
if(isset($_POST['nom']) &&isset($_POST['mot_de_passe']))
{
// connexion à la base de données
9 $db_nom = 'root';
$db_mot_de_passe = 'success';
$db_name = 'nom_licence';
$db_host = 'localhost';
10 $db = mysqli_connect($db_host, $db_nom, $db_mot_de_passe,$db_name)
or die('impossible de se connecter');

// pour éliminer toute attaque de type injection SQL et XSS


$nom = mysqli_real_escape_string($db,htmlspecialchars($_POST['nom']));
$mot_de_passe =
mysqli_real_escape_string($db,htmlspecialchars($_POST['mot_de_passe']));

11 if($nom !== "" && $mot_de_passe !== "")


{

6 sur 8
12 $requete = "SELECT count(*) FROM utilisateur where
nom_utilisateur = '".$nom."' and mot_de_passe = '".$mot_de_passe."' ";
$exec_requete = mysqli_query($db,$requete);
$reponse = mysqli_fetch_array($exec_requete);
$count = $reponse['count(*)'];
13 if($count!=0) //
{
$_SESSION['nom'] = $nom;
header('Location: bienvenu.php');
}
else
{
14 header('Location: page_erreur.php?erreur=1'); //
}
}
else
{
header('Location: page_erreur.php?erreur=2'); //
}
}
else
{
header('Location: page_ok.php');
}
15 mysqli_close($db); //
?>

11- L’instruction portant le numéro 9 signifie que :


a. la base de données prend le nom root
b. le nom de la base de données est modifié pour devenir root
c. une variable est assignée à la valeur du caractère root
d. une variable db_nom reçoit la valeur racine
e. une variable db_nom reçoit la valeur root

12- L’instruction portant le numéro 10 (choisir toutes les bonnes réponses)


a. permet de se connecter à la base de données de nom db_host
b. permet de se connecter sur la machine db_host
c. permet de se connecter à la base de données et affiche le message impossible
de se connecter.

7 sur 8
d. permet de se connecter à la base de données de nom db_nameet affiche un
message en cas d’échec.

13- Sur la ligne 11 la condition de cette alternative donnera une valeur vraie si
a. les deux variables sont tous égales à la valeur d’un caractère vide
b. l’un des deux variables est égale à la valeur d’une chaine vide
c. les deux variables sont toutes différentes à la valeur d’une chaine vide
d. les deux variables sont tous égales en valeur et en type à un caractère vide
e. les deux variables sont tous différentes en valeur et en type à une chaine vide

14- La requête de la ligne 12 permet de


a. compter les utilisateurs de la base de données
b. compter les utilisateurs de la table username
c. compter les utilisateurs qui se sont déjà connecter à la table utilisateur de la
base de données
d. compter les utilisateurs dont le nom et le mot de passe sont conformément aux
identifiants saisis
e. sélectionner les utilisateurs

15- L’instruction de la ligne 13 permet de


a. vérifier si le nombre d’utilisateurs de la base de données est différent à zéro et
envoie dans ce cas une page web de message
b. vérifier si le nombre d’utilisateurs de la base de données correspondant à un
utilisateur qui souhaite se connecter est différent à zéro et envoie dans ce cas
une page web de message
c. de vérifier si il existe au moins un utilisateur de la base de données qui
correspond aux identifiants en cours, envoie dans ce cas une page web et une
autre dans le cas contraire
d. de vérifier si les identifiants recueillis correspondent à ceux d’un utilisateur de
la base de données et affiche une page web de message d’erreur.

16- La ligne 14 signifie que


a. On recherche l’entête de la page donnée en paramètre
b. On insère un entête à la page donnée en paramètre

8 sur 8
c. On modifie l’entête de la page donnée en paramètre
d. Il y a eu une redirection vers de la page donnée en paramètre
e. On crée l’entête de la page donnée en paramètre
f. Aucune bonne réponse

17- La condition de la ligne 15 permet de


a. refermer les instructions mysql
b. refermer une table mysql
c. refermer une base de données mysql
d. refermer la base de données spécifiée
e. refermer indirectement la base de données spécifiée

18- Pour pouvoir exécuter le programme du fichier verification.php à partir du code du


fichier infos.html il faut
a. mettre un lien dans le fichier infos.htlm
b. mettre un lien dans le fichier verification.php
c. spécifier cela au niveau de l’attribut du action de la balise form du fichier
infos.html
d. spécifier cela au niveau de l’attribut method de la balise form du fichier
infos.html
e. spécifier cela au niveau de l’attribut onSubmit de la balise form du fichier
infos.html

9 sur 8

Vous aimerez peut-être aussi