Mission Carthage Français

الرئيسية › الامتحانات › باكالوريا علوم الإعلامية

Devoir pratique STI n°9 : l'espace des notes, choisir la classe en JavaScript, les moyennes de la classe en PHP et MySQL

باكالوريا علوم الإعلامية، الثلاثي الثالث. المدّة: ساعة. على 20 نقطة.

اكتب البرامج متاعك بـ Python ولا بالـ algorithme وثبّت فيهم في بلاصتهم، وبعد حلّ الإصلاح تمرين بتمرين.

Le travail se fait sur ordinateur, avec un serveur local (XAMPP) : chaque fichier est enregistré sous le nom donné, dans le même dossier. Les deux exercices construisent l'espace des notes du site du lycée : la page recherche.html vérifie le code de la classe avec le fichier recherche.js de l'exercice 1, puis l'envoie à la page notes.php de l'exercice 2. Barème sur 20 points.

الموضوع مكتوب بالفرنسي، كيما في القسم.

Exercice 1 : choisir la classe (8 pts)

L'espace des notes du site du lycée commence par la page recherche.html suivante, reliée au fichier recherche.js : on y tape le code d'une classe, que le formulaire envoie à la page notes.php de l'exercice 2 par la méthode GET. Avant l'envoi, onsubmit="return verifier()" vérifie le code.

<!DOCTYPE html>
<html lang="fr">
<head>
  <meta charset="utf-8">
  <title>Espace des notes</title>
</head>
<body>
  <h1>Espace des notes</h1>
  <p><a href="classes.php">Toutes les classes</a></p>
  <form action="notes.php" method="get" onsubmit="return verifier()">
    <label for="classe">Code de la classe</label>
    <input type="text" id="classe" name="classe">
    <input type="submit" value="Voir les moyennes">
  </form>
  <p id="erreur"></p>
  <script src="recherche.js"></script>
</body>
</html>

Les codes des classes vont de 4SI1 à 4SI4 : 4SI suivi d'un chiffre de 1 à 4. Écrire dans recherche.js, en JavaScript sans expression régulière :

  • 1) la fonction classeValide(c) qui renvoie true si c a exactement 4 caractères, commence par 4SI et finit par un chiffre de 1 à 4 ; sinon false (4 pts) ;
  • 2) la fonction verifier() qui lit le code tapé dans le champ classe : s'il n'est pas valide, elle écrit « Classe inconnue : de 4SI1 à 4SI4 » dans le paragraphe erreur et renvoie false ; sinon elle vide ce paragraphe et renvoie true (4 pts).

Exemples : classeValide("4SI2") donne true, classeValide("4si2") donne false et classeValide("4SI5") donne false.

Exercice 2 : les moyennes d'une classe (12 pts)

Le lycée garde ses élèves et leurs notes dans la base MySQL lycee, créée par le fichier base.sql. La connexion à la base est dans connexion.php, que chaque page inclut avec require. La page recherche.html de l'exercice 1 envoie le code de la classe à notes.php, et son lien ouvre classes.php.

CREATE DATABASE lycee;
USE lycee;
CREATE TABLE eleve (
  num INT PRIMARY KEY,
  nom VARCHAR(30) NOT NULL,
  classe VARCHAR(10) NOT NULL
);
CREATE TABLE note (
  id INT PRIMARY KEY,
  num_eleve INT NOT NULL,
  matiere VARCHAR(20) NOT NULL,
  valeur INT NOT NULL,
  FOREIGN KEY (num_eleve) REFERENCES eleve(num)
);
INSERT INTO eleve VALUES (1, 'Amri', '4SI1'), (2, 'Belhaj', '4SI2'), (3, 'Chebbi', '4SI1'), (4, 'Dridi', '4SI1'), (5, 'Ezzine', '4SI2');
INSERT INTO note VALUES
  (1, 1, 'Algo', 14), (2, 1, 'STI', 17), (3, 1, 'Maths', 12),
  (4, 2, 'Algo', 12), (5, 2, 'STI', 16),
  (6, 3, 'Algo', 9), (7, 3, 'STI', 11),
  (8, 4, 'Algo', 16), (9, 4, 'STI', 13), (10, 4, 'Maths', 18),
  (11, 5, 'Algo', 8), (12, 5, 'STI', 10), (13, 5, 'Maths', 9);
<?php
$cnx = mysqli_connect("localhost", "root", "", "lycee");
?>
  • 1) Écrire la page classes.php qui affiche le titre « Classes », puis un tableau HTML avec chaque classe et son nombre d'élèves, par ordre alphabétique de la classe (4 pts).
  • 2) Écrire la page notes.php, appelée avec le code de la classe dans l'adresse (par exemple notes.php?classe=4SI1). Si le paramètre classe manque, elle affiche « Classe non indiquée ». Si la classe n'a aucun élève noté, elle affiche « Aucun élève ». Sinon elle affiche le titre « Classe 4SI1 » (avec le code reçu), puis un tableau HTML avec le nom de chaque élève et sa moyenne arrondie à l'entier, de la meilleure moyenne à la moins bonne (à égalité, par ordre alphabétique du nom) (8 pts).

Exemple : notes.php?classe=4SI2 affiche le titre Classe 4SI2, puis Belhaj 14 et Ezzine 9.

الإصلاح المفصّل

الإصلاح متاع الامتحان هذا للمشتركين. فيه التحليل، والـ algorithme بالنوطاسيون التونسية، والبرنامج Python المجرّب، والغلطات اللي ترجع برشا في كل تمرين. بحساب بلاش، تنجم تحلّ 3 إصلاحات تختارهم إنت.

كل الإصلاحات حتى الفرض التأليفي3 أشهر بـ 20 د، العرض حتى 30 نوفمبر 2026 ابعثها لبابا ولّا ماما يخلّصو

موضوع أصلي كتبناه لـ Mission Carthage، على نفس الشكل متاع امتحانات القسم. الأستاذ متاعك يبقى هو المرجع.

البرنامج الكل: باكالوريا علوم الإعلامية · عاود اقرا الكور · الامتحانات الكل