Dans cette séance, vous allez apprendre à écrire les requêtes SQL nécessaires au fonctionnement réel de l’interface d’administration du projet.
Vous n’écrivez pas du SQL “théorique”.
Chaque requête correspond à une fonctionnalité concrète du site.
Si une requête n’existe pas, la fonctionnalité ne peut pas être développée.
Vous travaillez sur un CMS disposant :
La base de données est déjà modélisée. Vous devez l’interroger correctement, sans la modifier.
Vous disposez notamment des tables suivantes :
itemcategorythemetagtagueroperatormessagecollectioncollection_itemLes relations sont déjà en place (FK, tables de jointure).
MPD - Data on programming languages
SELECT * est autorisé uniquement pour l’apprentissageContexte Vous êtes dans l’interface d’administration. Vous devez afficher la liste de tous les contenus existants.
Exercice Écrire une requête qui affiche tous les items avec :
Contexte Un administrateur clique sur un item pour voir sa fiche complète.
Exercice
Écrire une requête qui affiche un item précis, identifié par son id, avec :
Contexte Un administrateur crée un nouveau contenu via un formulaire.
Exercice Écrire la requête permettant d’insérer un nouvel item avec :
Contexte Un contenu existant doit être modifié.
Exercice Écrire une requête permettant de modifier :
Contexte Un administrateur supprime un contenu.
Exercice Écrire la requête permettant de supprimer un item à partir de son identifiant.
Contexte Écran “gestion des catégories”.
Exercice Écrire une requête qui affiche toutes les catégories, triées par label.
Contexte Écran “gestion des tags”.
Exercice Écrire une requête qui affiche tous les tags, triés par label.
Contexte Un administrateur ajoute un tag à un item.
Exercice Écrire la requête permettant d’associer un tag existant à un item existant.
Contexte Un administrateur retire un tag d’un item.
Exercice Écrire la requête permettant de supprimer l’association entre un item et un tag.
Contexte Cliquer sur un tag affiche les contenus associés.
Exercice Écrire une requête qui affiche tous les items associés à un tag donné.
Contexte Le responsable éditorial veut nettoyer les tags inutiles.
Exercices
Contexte Interface admin → messages reçus via le formulaire de contact.
Exercice Écrire une requête qui affiche tous les messages avec :
Contexte L’admin veut traiter les messages en priorité.
Exercices
Contexte L’admin ouvre un message précis.
Exercice
Écrire une requête qui affiche un message à partir de son id.
Contexte Un message a été pris en charge.
Exercice Écrire la requête permettant de modifier le statut d’un message.
Contexte Un message indésirable doit être supprimé.
Exercice Écrire la requête permettant de supprimer un message donné.
Contexte Un administrateur tente de se connecter.
Exercice Écrire une requête qui récupère un opérateur à partir de son email uniquement s’il est actif.
Contexte Après une connexion réussie, l’activité est enregistrée.
Exercice
Écrire la requête permettant de mettre à jour le champ last_login.
Contexte Un utilisateur connecté consulte ses collections.
Exercice Écrire une requête qui affiche toutes les collections créées par un opérateur donné.
Contexte Afficher les items d’une collection (favoris).
Exercice Écrire une requête qui affiche tous les items d’une collection donnée.
Contexte Un utilisateur ajoute un contenu à ses favoris.
Exercice Écrire la requête permettant d’ajouter un item à une collection.
Contexte Un utilisateur retire un favori.
Exercice Écrire la requête permettant de retirer un item d’une collection.
Contexte Le catalogue affiche 10 contenus par page.
Exercices
Contexte Page listant les contenus d’une catégorie.
Exercice Écrire une requête qui affiche tous les items d’une catégorie donnée.
Contexte Page thématique.
Exercice Écrire une requête qui affiche tous les items d’un thème donné.
Contexte Champ de recherche global du site.
Exercice Écrire une requête qui affiche les items dont le label ou le contenu correspond à un mot-clé.
Contexte Page d’accueil de l’admin.
Exercices
Contexte Afficher les derniers contenus ajoutés.
Exercice Écrire une requête qui affiche les X derniers items créés.
Contexte Badge “messages à traiter”.
Exercice Écrire une requête qui compte les messages dont le statut n’est pas traité.
Une fonctionnalité = une ou plusieurs requêtes SQL. Le SQL est l’outil qui rend le site possible, pas une fin en soi.