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

Accueil › Devoirs › 3ème SI

Devoir pratique STI n°10 : la bibliothèque du lycée, son catalogue en ligne en JavaScript et sa table des livres en SQL

3ème année 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. Les deux exercices portent sur la bibliothèque du lycée : l'exercice 1 écrit le fichier catalogue.js de la page du catalogue, l'exercice 2 les requêtes sur la table livre, qui contient les mêmes livres. 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 : le catalogue en ligne (8 pts)

Le site de la bibliothèque du lycée a la page catalogue.html suivante, reliée au fichier catalogue.js. Les livres y sont rangés dans quatre tableaux de même taille : titres, auteurs, annees et dispos ; la case i de chacun décrit le même livre, et dispos[i] vaut 1 si le livre est disponible et 0 s'il est emprunté.

<!DOCTYPE html>
<html lang="fr">
<head>
  <meta charset="utf-8">
  <title>Catalogue de la bibliothèque</title>
</head>
<body>
  <h1>Catalogue de la bibliothèque</h1>
  <input type="checkbox" id="dispo"><label for="dispo">Seulement les livres disponibles</label>
  <input type="button" id="afficher" onclick="afficher()" value="Afficher">
  <ul id="catalogue"></ul>
  <script>
    var titres = ["Les Misérables", "Notre-Dame de Paris", "Le Prophète", "Germinal", "Le Pain nu", "Les Contemplations"];
    var auteurs = ["Hugo", "Hugo", "Gibran", "Zola", "Choukri", "Hugo"];
    var annees = [1862, 1831, 1923, 1885, 1980, 1856];
    var dispos = [1, 0, 1, 0, 1, 1];
    function afficher() {
      var ul = document.getElementById("catalogue");
      var seulement = document.getElementById("dispo").checked;
      ul.innerHTML = "";
      for (var i = 0; i < titres.length; i++) {
        if (!seulement || etat(dispos[i]) == "disponible") {
          ul.innerHTML += "<li>" + ligne(titres[i], auteurs[i], annees[i], dispos[i]) + "</li>";
        }
      }
    }
  </script>
  <script src="catalogue.js"></script>
</body>
</html>

La fonction afficher() du bouton « Afficher » est donnée dans la page ; elle utilise les deux fonctions à écrire dans catalogue.js :

Exercice 2 : la bibliothèque (12 pts)

Les livres du catalogue de l'exercice 1 sont rangés dans la table livre (id, titre, auteur, annee, dispo) de la base de la bibliothèque : dispo vaut 1 si le livre est disponible et 0 s'il est emprunté. Elle contient :

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 (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