Mission Carthage العربية
اقرا الصفحة هذي بالتونسي

Accueil › Devoirs › Bac SI

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

Bac Sciences de l'informatique, 3ème trimestre. Durée : 1 heure. Sur 20 points.

É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, 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 :

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>

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.

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 paie

Sujet original écrit pour Mission Carthage, dans le format d'un devoir pratique d'informatique (4ème Sciences de l'informatique, technologies du web). Ce n'est pas un sujet officiel.

Tout le programme : Bac Sciences de l'informatique · Revoir le cours · Tous les devoirs