Devoir pratique STI n°9 : l'espace des élèves, les âges en JavaScript et la base des élèves et de leurs notes
Écris tes programmes en Python ou en algorithme et vérifie-les tout de suite, puis ouvre la correction exercice par exercice.
Le travail se fait sur ordinateur. Les deux exercices portent sur l'espace des élèves du site du lycée : l'exercice 1 écrit le fichier eleves.js de sa page, l'exercice 2 la base MySQL des mêmes élèves et de leurs notes. Les fonctions JavaScript se testent dans la console du navigateur et dans la page, les requêtes SQL dans MySQL. Barème sur 20 points.
Exercice 1 : l'âge (8 pts)
La page eleves.html de l'espace des élèves est donnée, reliée au fichier eleves.js. Pour la sortie au festival, son bouton « Vérifier » appelle la fonction verifier(), donnée dans la page, qui utilise les deux fonctions à écrire dans eleves.js :
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>Espace des élèves</title>
</head>
<body>
<h1>Espace des élèves</h1>
<table id="eleves" border="1">
<tr><th>Num</th><th>Nom</th><th>Prénom</th><th>Classe</th></tr>
<tr><td>101</td><td>Ben Ali</td><td>Sami</td><td>3SI1</td></tr>
<tr><td>102</td><td>Trabelsi</td><td>Rim</td><td>3SI2</td></tr>
<tr><td>103</td><td>Jaziri</td><td>Omar</td><td>3SI1</td></tr>
<tr><td>104</td><td>Mansour</td><td>Lina</td><td>3SI2</td></tr>
<tr><td>105</td><td>Gharbi</td><td>Yassine</td><td>3SI1</td></tr>
</table>
<h2>Sortie au festival</h2>
<label for="naissance">Ton année de naissance</label>
<input type="number" id="naissance">
<input type="button" id="ok" onclick="verifier()" value="Vérifier">
<p id="reponse"></p>
<script>
function verifier() {
var a = Number(document.getElementById("naissance").value);
var r = age(a, 2026) + " ans : ";
if (estMajeur(a, 2026)) {
r = r + "tu peux partir seul.";
} else {
r = r + "il faut l'accord de tes parents.";
}
document.getElementById("reponse").innerHTML = r;
}
</script>
<script src="eleves.js"></script>
</body>
</html>
- 1) Écrire la fonction age(anneeNaissance, anneeCourante) qui renvoie l'âge atteint dans l'année courante (4 pts).
- 2) Écrire la fonction estMajeur(anneeNaissance, anneeCourante) qui renvoie true si cet âge est au moins 18, en utilisant la fonction age (4 pts).
Exemples : age(2009, 2026) donne 17, estMajeur(2008, 2026) donne true et estMajeur(2009, 2026) donne false. Avec ces fonctions, la page affiche « 17 ans : il faut l'accord de tes parents. » pour 2009.
Exercice 2 : la base des notes (12 pts)
Le lycée range les élèves de la page eleves.html (exercice 1) et leurs notes dans une base MySQL à deux tables :
- eleve (num, nom, prenom, classe) : num est la clé primaire ; nom, prenom et classe sont obligatoires ;
- note (id, #num_eleve, matiere, valeur) : id est la clé primaire, num_eleve est une clé étrangère qui référence eleve(num), la matière est obligatoire et la valeur est un entier de 0 à 20.
Les données sont : eleve (101, Ben Ali, Sami, 3SI1), (102, Trabelsi, Rim, 3SI2), (103, Jaziri, Omar, 3SI1), (104, Mansour, Lina, 3SI2), (105, Gharbi, Yassine, 3SI1) ; note (1, 101, Maths, 14), (2, 101, Info, 17), (3, 102, Maths, 9), (4, 102, Info, 18), (5, 103, Maths, 11), (6, 104, Info, 8), (7, 105, Maths, 16), (8, 105, Info, 12).
- 1) Écrire les requêtes CREATE TABLE des tables eleve et note, avec leurs clés et leurs contraintes (4 pts).
- 2) Écrire la requête qui affiche le nom et le prénom des élèves de la classe 3SI1, par ordre alphabétique du nom (2 pts).
- 3) Écrire la requête qui affiche la matière et la valeur des notes de l'élève 101, de la meilleure à la moins bonne (2 pts).
- 4) Écrire la requête qui affiche, sans doublon et dans l'ordre croissant, les numéros des élèves qui ont au moins une note inférieure à 10 (2 pts).
- 5) Écrire la requête qui affiche les prénoms qui contiennent la lettre « a », par ordre alphabétique (2 pts).
Correction détaillée
La correction de ce devoir est réservée aux abonnés. Elle donne l'analyse, l'algorithme en notation tunisienne, le programme Python vérifié et les erreurs fréquentes de chaque exercice. Avec un compte gratuit, tu peux ouvrir 3 corrections de ton choix.
Connecte-toi d'abord : créer un compte ou me connecter.
Tu as encore 0 correction(s) gratuite(s) à utiliser.
Il te faut un abonnement actif pour les autres corrections. Voir les tarifs ou demander un code sur WhatsApp, Instagram ou Facebook.
Les corrections gratuites de cet appareil ont déjà été utilisées, avec ce compte ou un autre : chaque appareil a droit à 3 corrections gratuites, quel que soit le nombre de comptes. Pour les autres corrections, il faut un abonnement. Voir les tarifs ou écrire sur WhatsApp.
Mission Carthage est en période de test : le site s'ouvre avec un code d'accès. Demande ton code sur WhatsApp, Instagram ou TikTok, puis tape-le sur missioncarthage.tn.
Cette correction n'est pas encore publiée. Reviens bientôt.
Impossible de charger la correction. Vérifie ta connexion et réessaie.
Toutes les corrections jusqu'au devoir de synthèse3 mois pour 20 TND, offre jusqu'au 30 novembre 2026 Envoyer à un parent pour qu'il paieSujet original écrit pour Mission Carthage, dans le format d'un devoir pratique d'informatique (3ème Sciences de l'informatique, technologies du web). Ce n'est pas un sujet officiel.
Tout le programme : 3ème année Sciences de l'informatique · Revoir le cours · Tous les devoirs