Vous êtes sur la page 1sur 8

R épublique Tunisienne M atière : STI | Enseignant : H .

Sghaier
M inistère de l'éducation N iveau : 4 èm e Sciences de l’inform atique

 
Bac blanc
Lycée secondaire A vicenne G afsa D ate : M ai 2023 D urée : 3 h

Nom & Prénom :……………………………………………...……… Classe :………….… Note :….../20

L’examen comporte 8 pages numérotées de la page 1/8 à la page 8/8


Exercice N°1 (9*0,25 pts=2,25 pts)
Dans un contexte de développement web, pour chacune des propositions CSS suivantes cocher la bonne réponse :

Q1:Pour modifier la couleur d'un texte en CSS en text-color


utilise la propriété. color
font-color
0,25

Q2:Pour ajouter une bordure arrondie à un élément border-radius


en CSS en utilise la propriété. border-style
border-radius-style
0,25

Q3: Pour rendre un élément fixe en CSS (qui reste border-radius


toujours à la même place même si on fait défiler la border-style
page) en utilise la propriété. border-radius-style
0,25

Q4: Pour rendre un élément fixe en CSS (qui reste position: fixed;
toujours à la même place même si on fait défiler la position: absolute;
page) en utilise la propriété. position: relative;
0,25

Q5: Pour créer une transition en CSS en utilise la transition suivie des propriétés
propriété. animation suivie des propriétés
transform suivie des propriétés
0,25

Q6: Pour rendre un élément invisible en CSS sans display: none;


changer sa place dans la mise en page en utilise la opacity: 0;
propriété. visibility: none;
0,25
Q7: Pour afficher un élément en ligne avec du texte display: block
en CSS en utilise la propriété. display: inline
display: inline-block
0,25
Q8: le sélecteur CSS qui permet de sélectionner tous L'identifiant
les éléments d'un type donné est. La classe
Le sélecteur d'élément
0,25
Q9: Pour sélectionner un élément HTML avec un Le sélecteur de classe
identifiant spécifique a lui-même en CSS en utilise. Le sélecteur d'élément
Le sélecteur d'identifiant
0,25

- 1 -
Exercice N°2 (7,75pts)
Soit l’aperçu suivant d’une page web contenant le formulaire d’inscription d’un joueur dans un jeu en ligne :

Sachant que le clique sur le bouton :


■ Insérer : permet d’appeler une fonction JavaScript intitulée verif() qui se charge d’assurer la
validité des champs du formulaire puis d’envoyer les données saisies au fichier « inscription.php »
en les affichant dans la barre d’adresse .
■ Annuler : permet d’initialiser tous les champs du formulaire .

Partie1 :
Ci-après, le code html relatif au formulaire d’inscription où les attributs numérotés de 1 à 8 n’ont pas de valeurs
définies :

<form action="………………… 1 ……………………" method="……………… 2 ………………." >


<label>Nom complet:</label>
<input type="text" name="nom" id="nom">
<label>Cin:</label>
<input type="text" name="cin" id="cin">
<label> Date de naissance:</label>
<input type="……… 3 ………" name="datenaiss" id="datenaiss">
<label>Genre:</label><br>
<input type="……… 4 ………" name="genre" id="genre" value="H">Homme
<input type="……… 5 ………" name="genre" id="genre" value="F">Femme
<input type="………… 6 ………… " value="Inserer" onclick="…………… 8 …………………">
<input type="………… 7 …………" value="Annuler">
</form>

Question 1 : En se référant au code HTML ci-dessus, compléter chaque ligne du tableau par la valeur de l’attribut
concerné :

Numéro de l’attribut Valeur de l’attribut


1 …………………………………

2 …………………………………

3 …………………………………

02 4 …………………………………

5 …………………………………

6 …………………………………

7 …………………………………

8 …………………………………

- 2 -
Question 2 : Lors de clique sur le bouton « inserer » la fonction verif() doit vérifier les champs de formulaire, parmi
les vérifications à réaliser ceux pour les boutons radio.
Donner la portion de code JavaScript pour s’assurer que l’utilisateur doit obligatoirement choisir un genre

function verif() {
Instructions….
………………………..………………………..
………………………..………………………..
………………………..………………………..
………………………..………………………..
02
………………………..………………………..
………………………..………………………..
Instructions….
}

Partie2 :
Ci-après, le code SQL relatif à la création de la table joueur dans la base de données « compétition »

CREATE TABLE joueur (


id INT AUTO_INCREMENT PRIMARY KEY,
nom VARCHAR(50) NOT NULL,
cin int(9) NOT NULL ,
datenaiss DATE NOT NULL,
genre CHAR(1) NOT NULL
);

Question 1 : Après la vérification des champs à l’aide de la fonction verif() , le fichier « inscription.php »
se charge d’insérer les valeurs des champs dans la table joueur de la base de données.
Compléter le code PHP ci-dessous sachant que les instructions de connexion à la base sont déjà développées
dans un fichier « bd_connexion.php »

<?php
// Inclure le fichier de connexion à la base de données
………………………..………………………..
// Récupération des valeurs passées par URL
………………………..………………………..
………………………..………………………..
………………………..………………………..
0,5
………………………..………………………..
………………………..………………………..
// Préparation de la requête SQL pour l'insertion du joueur
0,5
$sql = "…………………………………………..……………………………………………………………
…………………………………………..…………………………………………………………";
$res =………………………………………….. ; // exécution de la requête
0,5 ………………………..………………………..
………………………..………………………..
………………………..………………………..
0,5
………………………..………………………..
?>

- 3 -
Question 2 : Après la création de la page d’inscription des joueurs, le développeur de site a besoin d’une page web
qui permet de lister tous les joueurs de la base de données, pour cela il a développé le code PHP suivant :

<?php
// Inclure le fichier de connexion à la base de données
// On suppose que la requête SQL est préparée correctement
// On suppose l’exécution de la requête est faite .
if (mysql_num_rows($res) > 0) {
// Affichage de résultat dans un tableau HTML
echo "<table>";
echo "<tr><th>ID</th><th>Nom</th><th>CIN</th><th>Date de naissance </th>
<th>Genre</th></tr>";
while($row = mysql_fetch_row($res)) {
echo "<tr><td>" . $row["id"]. "</td><td>" . $row["nom"]. "</td><td>" .
$row["cin"]. "</td><td>" . $row["datenaiss"]. "</td><td>" . $row["genre"].
"</td></tr>";
}
echo "</table>";
} else {
echo "Aucun joueur trouvé";
}
// Fermeture de la connexion
mysql_close($conn);
?>

1) Pour chacune des propositions suivantes et en se référant au code PHP ci-dessus répondre par V si la
proposition est vraie et par F dans le cas contraire

P1: La fonction mysql_num_rows() retourne :

Le nombre total de lignes dans la table utilisée par la requête

Le nombre de lignes affectées par la dernière requête


0,25

Le nombre de lignes retournées par la requête spécifiée

P2: La fonction mysql_fetch_row() retourne :

La première ligne de résultats sous forme de tableau associatif


0,25

La dernière ligne de résultats sous forme de tableau associatif

La prochaine ligne de résultats sous forme de tableau indexé

2) Le développeur a commis une erreur lors de l’extraction des champs de résultat de la requête, préciser l’erreur
et proposer deux solutions possibles pour la résoudre.

………………………..………………………..……………………..………………………..
1,25
………………………..………………………..……………………..………………………..
………………………..………………………..……………………..………………………..
………………………..………………………..……………………..………………………..
………………………..………………………..……………………..………………………..
………………………..………………………..……………………..………………………..

- 4 -
Exercice N°3 (5pts)
Une société de sondage désire implémenter une base de données « SONDAGE » permettant de gérer les réponses
des intervenants aux questions posées à propos d’un sujet donné. Elle est décrite par la représentation graphique
simplifiée suivante :

 Table "Intervenant" : Cette table stocke les


informations sur les intervenants qui participent
à des sondages ou des enquêtes.
 Table "Sujet" : Cette table stocke les
informations sur les sujets des sondages ou des
enquêtes.
 Table "Question" : Cette table stocke les
informations sur les questions posées aux
intervenants.
 Table "Réponse" : Cette table stocke les
réponses des intervenants aux questions posées.

A- Écrire les requêtes SQL permettant d’afficher :

1) Le nombre distinct des intervenants qui n’ont pas dépassé 28 ans et qui ont répondu à la
question N° 513.

0,5

2) Le nombre de questions par libellé de sujet ayant plus que 10 questions

0,5

3) Les nombre d’intervenants qui ont répondus au même nombre de questions que l’intervenant de
CIN «01100600402 »

0,5

4) Tous les sujets et leurs libellés qui ont des réponses à des questions par des intervenants pendant
l’année 2019 ou le mois de Mai pour n’importe quelle année

0,5

- 5 -
B- Écrire les requêtes SQL permettant de répondre aux situations suivantes:
1) À cause des raisons morales les sujets de code « 223 » et « 654 » devront être supprimés, sachant
que la suppression en cascade a été précisé lors de la création de la base de données.

0,5

2) Pour des besoins particuliers :


 Le concepteur de la base ajoute à la table « Réponse » un champ « HeureRep »

0,5

 Le concepteur modifie le type de « GenreInt » en un type qui prend seulement les


caractères F et M comme valeurs possibles.

0,5

3) Insérer à la base l’ensemble des données suivantes :

Code Libelle Num Designation Code Cin Num Libelle DateRep HeureRep
Sujet Suj Ques Ques Sujet Int Ques Rep
345 Réseaux 4 Les réseaux 345 180305009 4 Non pas de 02/01/2023 16 :34 :00
Sociaux sociaux tout
sont-ils utiles ?
1,5 345 Réseaux 4 Les réseaux 345 114405102 4 Utiles pour 04/03/2023 20 :15 :00
Sociaux Sociaux les
sont-ils utiles ? entreprises

- 6 -
Exercice N°4 (5pts)
Pour assurer le confort et la sécurité des clients ainsi que du personnel, une administration publique désire
réduire les temps d’attente pour ces différentes succursales (agences) dans des différentes régions d’une
même villes en proposant un service de prise de rendez-vous en ligne. Celui-ci permet aux usagers de
s’épargner de longues heures d’attente et de réduire au maximum les foules dans les espaces d’attente.
Les règles de gestion de service sont les suivantes :
 R1 : Un usager peut avoir plusieurs rendez-vous pour chaque jour.
 R2 : Un usager peut avoir un seul rendez-vous pour un service spécifique.
 R3 : Un ticket est valide pour un seul service dans les différentes succursales d'une ville.
 R4 : L’administration peut avoir plusieurs succursales dans une ville.
 R5 : L’administration existe dans plusieurs villes.
 R6 : Pour une région de la ville, il existe une seule succursale.
 R7 : Chaque ville contient plusieurs régions, et chaque succursale est située dans une seule région.
 R8 : Chaque usager peut accéder seulement aux succursales de sa ville originaire.
L’équipe de conception de la base a commencé à concevoir la base de données par le schéma graphique
suivant :

1) En se référant à la représentation graphique ci-dessus, pour chaque règle de gestion, on demande


de préciser (cocher la case) si elle est respectée ou non, en proposant une remédiation sous forme
d’une représentation graphique ou textuelle en cas d’anomalie.
R1: Respectée Non Respectée

0,5

R2: Respectée Non Respectée

0,5

R3: Respectée Non Respectée

0,5

R4: Respectée Non Respectée

0,5

- 7 -
R5: Respectée Non Respectée

0,5

R6: Respectée Non Respectée

0,5

R7: Respectée Non Respectée

0,5

R8: Respectée Non Respectée

0,5

2) Donner le schéma final textuel ou graphique de la base de données

01

- 8 -

Vous aimerez peut-être aussi