Mission Carthage Français

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

Devoir pratique STI n°11 : les prix de la boutique, vérifier le formulaire en JavaScript, modifier et supprimer des produits 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 la gestion des prix de la boutique : la page prix.html vérifie la référence et le prix avec le fichier controle.js de l'exercice 1, puis les envoie à la page modifier.php de l'exercice 2 ; ses liens ouvrent supprimer.php. Barème sur 20 points.

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

Exercice 1 : vérifier le formulaire des prix (8 pts)

La page prix.html de la boutique (donnée à l'exercice 2) envoie une référence de produit et un nouveau prix à modifier.php. Avant l'envoi, sa fonction verifier() (onsubmit, donnée dans la page) vérifie les deux champs avec deux fonctions JavaScript, à écrire dans le fichier controle.js sans expression régulière :

  • 1) la fonction refValide(r) qui renvoie true si r a exactement 3 caractères : une lettre majuscule (de A à Z) puis deux chiffres, comme P01 ; sinon false (4 pts) ;
  • 2) la fonction prixValide(t) qui reçoit le texte saisi et renvoie true s'il n'est pas vide, n'a que des chiffres et que sa valeur est strictement positive ; sinon false (4 pts).

Exemples : refValide("P01") donne true, refValide("p01") donne false, prixValide("25") donne true et prixValide("12.5") donne false.

Exercice 2 : modifier et supprimer des produits (12 pts)

La boutique garde ses produits dans la base MySQL boutique, créée par le fichier base.sql (prix en dinars). La connexion à la base est dans connexion.php, que chaque page inclut avec require. La page prix.html, reliée à controle.js (exercice 1), envoie une référence et un nouveau prix à modifier.php avec la méthode POST ; ses liens ouvrent supprimer.php avec une référence.

CREATE DATABASE boutique;
USE boutique;
CREATE TABLE produit (
  ref VARCHAR(5) PRIMARY KEY,
  nom VARCHAR(40) NOT NULL,
  prix INT NOT NULL,
  stock INT NOT NULL
);
INSERT INTO produit VALUES
  ('P01', 'Clé USB 32 Go', 25, 14),
  ('P02', 'Souris sans fil', 35, 0),
  ('P03', 'Casque audio', 60, 3),
  ('P04', 'Tapis de souris', 8, 0);
<?php
$cnx = mysqli_connect("localhost", "root", "", "boutique");
?>
<form action="modifier.php" method="post" onsubmit="return verifier()">
  <input type="text" name="ref" id="ref">
  <input type="text" name="prix" id="prix">
  <input type="submit" value="Modifier le prix">
</form>
<p>Supprimer : <a href="supprimer.php?ref=P02">P02</a> <a href="supprimer.php?ref=P04">P04</a></p>
<script>
  function verifier() {
    if (!refValide(document.getElementById("ref").value)) {
      alert("Référence invalide");
      return false;
    }
    if (!prixValide(document.getElementById("prix").value)) {
      alert("Prix invalide");
      return false;
    }
    return true;
  }
</script>
<script src="controle.js"></script>
  • 1) Écrire la page modifier.php : si le prix reçu n'est pas un entier strictement positif, elle affiche « Prix invalide » ; sinon elle change le prix du produit et affiche « Prix modifié », ou « Produit introuvable » si aucun produit n'a cette référence (6 pts).
  • 2) Écrire la page supprimer.php qui reçoit une référence par la méthode GET (paramètre ref) : si aucun produit n'a cette référence, elle affiche « Produit introuvable » ; si le produit a encore du stock, elle affiche « Impossible : le produit est en stock » ; sinon elle le supprime et affiche « Produit supprimé » (6 pts).

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

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

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

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

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