{% extends 'base.html' %} {% block title %}QueryCraft Web - @Didapro 11{% endblock %} {% block extra_css %} {% endblock %} {% block header_title %}🔍 Atelier QueryCraft @ Didapro 11{% endblock %} {% block header_subtitle %}Mercredi 11 mars 2026{% endblock %} {% block header_extra %}
Version {{ version }}
{% endblock %} {% block nav_buttons %} {% endblock %} {% block content %}

Introduction

Cette interface permet d'interroger une base de données via un SGBD (MySQL, PSQL ou SQLite) choisi par l'enseignant. Pour cet atelier, nous utiliserons SQLite avec la base de données "cours.db". Le schéma et contenu des tables de la BD sont disponibles via l'application, via le bouton, mais aussi en annexe.

📖 Partie 1 : les requĂȘtes simples

L'apprenant peut exĂ©cuter n'importe quelle requĂȘte SQL (langage de manipulation des donnĂ©es rĂ©duit au "Select") sur la base de donnĂ©es sĂ©lectionnĂ©e par l'enseignant. Cela permet Ă  l'Ă©tudiant de tester la validitĂ© de la syntaxe de sa requĂȘte et de retourner la table rĂ©sultat obtenu si la syntaxe est correcte.

Testez le mode simple avec la requĂȘte qui retourne le nom et prĂ©nom des Ă©tudiants inscrits dans le module MIAS2I5.

Autre test

📖 Partie 2 : Exercices

Attendez que l'animateur active la mode exercice. Vous pourrez continuer à utiliser le mode "libre". Pour cela, sélectionnez "Pas d'exercice".

L'apprenant devra sĂ©lectionner la question Ă  laquelle il veut rĂ©pondre via l'encadrĂ© Exercice et Question. Puis via le formulaire libre requĂȘte SQL, l'apprenant devra rĂ©pondre Ă  la requĂȘte. En plus de la validation syntaxique de sa requĂȘte, QueryCraft prĂ©cisera si la table rĂ©sultat obtenue correspond Ă  la table rĂ©sultat attendue. ATTENTION, ce ne signifiera pas forcĂ©ment que la requĂȘte est sĂ©mantiquement correcte (rĂ©pond totalement Ă  l'intention posĂ©e).

Sélectionnez l'exercice Didapro11 et la question n°1 : "Nom et prénom des étudiants ayant des notes dans le module MIAS2I5"

L'intention prĂ©cise s'affiche et Ă©ventuellement la table rĂ©sultat attendue. ExĂ©cutez les requĂȘtes suivantes pour visualiser les diffĂ©rences

R1 (requĂȘte correcte)

R2 (requĂȘte syntaxiquement correcte, mais qui ne rĂ©pond pas Ă  l'intention)

R3 (requĂȘte syntaxiquement incorrecte)

📖 Partie 3 : pas à pas

Pour comprendre les opĂ©rateurs utilisĂ©s dans sa requĂȘte, Quel que soit le mode de manipulation (libre ou dirigĂ©e) choisi, l'apprenant pourra utiliser le mode pas Ă  pas proposĂ©. L'exĂ©cution des opĂ©rateurs se fait de maniĂšre itĂ©rative : jointure / sĂ©lection / regroupement / condition de regroupement / projection / tri.

Sélectionnez la question n°2 dans l'interface Exercice et Question.

Etudiants (nom et prĂ©nom) qui ont eu une note d'examen supĂ©rieure Ă  10. Ecrivez la requĂȘte suivante dans l'interface RequĂȘte SQL et cochez la case Mode pas Ă  pas. RequĂȘte correcte avec une jointure, une sĂ©lection et une projection

Visualisez les diffĂ©rentes Ă©tapes de la requĂȘte :

Sélectionnez la question n°3 dans l'interface Exercice et Question.

Etudiants (nom, prĂ©nom) qui ont eu une moyenne gĂ©nĂ©rale supĂ©rieur Ă  10. Ecrivez la requĂȘte suivante dans l'interface RequĂȘte SQL et cochez la case Mode pas Ă  pas si pas conservĂ©e. RequĂȘte correcte avec un group by et une sĂ©lection sur les groupes.

Visualisez les diffĂ©rentes Ă©tapes de la requĂȘte comportant un regroupement et une sĂ©lection sur celui-ci.

📖 Partie 4 : aide de l'IA gĂ©nĂ©rative

Quelque soit le mode de manipulation, une aide via une IA est proposée à l'apprenant, que ce soit :

Reprenons la question n°3 dans l'interface Exercice et Question. Etudiants (nom, prĂ©nom) qui ont eu une moyenne gĂ©nĂ©rale supĂ©rieur Ă  10. DĂ©cochez la case mode Pas Ă  Pas et sĂ©lectionnez dĂ©sormais uniquement Aide de l'IA. Etudiez les retours de l'IA pour les diffĂ©rentes requĂȘtes proposĂ©es suivantes.

R1 - requĂȘte correcte : explication dĂ©taillĂ©e par l'IA de la requĂȘte proposĂ©e

R2 - requĂȘte syntaxiquement fausse : aide par l'IA pour corriger la requĂȘte

R3 - requĂȘte correcte syntaxiquement, mais ne rĂ©pond pas Ă  l'intention (pas la bonne table rĂ©sultat) : aide de l'IA pour comprendre les erreurs.

📖 Partie 5 : exercice complĂ©mentaire

Nous vous proposons maintenant de manipuler l'outil avec les modes souhaitées (pas à pas et/ou aide de l'IA) pour en mesurer les fonctionnalités proposées soit :

N'hĂ©sitez pas : Vous pouvez aussi tester de cocher les 2 modes en mĂȘme temps.

Sélectionner la question n°4 - Tri de la table résultat "Nom et Prénom des étudiants qui ont un nom qui commence par un D, trié par ordre alphabétique sur le nom et prénom."

Sélectionnez la question n°5 - Plusieurs jointures. "Liste des étudiants (nom, prénom) inscrits en Deug MIAS"

Sélectionnez la question n°6 - Autojointure "Etudiants inscrits dans le module MIAS2I5 et le module MIAS2I6",

Sélectionnez la question n°7 - Jointure externe "Etudiants (nom, prénom) qui ne sont pas inscrits dans le module MIAS2I5"

SĂ©lectionnez la question n°8 - À faire par vous-mĂȘme. "La moyenne gĂ©nĂ©rale des Ă©tudiants en deuxiĂšme annĂ©e de Deug MIAS, s'ils n'ont pas de notes dans un module, ils ont 0 Ă  ce module. MĂȘme chose pour les notes (noteex et notecc)."

ANNEXE - Base de données cours.db

Cette base de donnĂ©es permet de stocker les notes obtenuss par les Ă©tudiants dans chaque matiĂšre oĂč ils sont inscrits pour les diffĂ©rentes formations proposĂ©es dans mon Ă©tablissement. La moyenne de chaque matiĂšre correspond Ă  la moyenne de la note de contrĂŽle continu et de la note d'examen. Chaque matiĂšre a le mĂȘme poids, donc la moyenne gĂ©nĂ©rale correspond Ă  la moyenne gĂ©nĂ©rale de toutes les moyennes obtenues de chaque matiĂšre.

{% endblock %} {% block footer_content %} © E. Desmontils & Laura Monceaux, Nantes Université, 2026 | QueryCraft v{{ version }}
Transparents de l'atelier. {% endblock %} {% block scripts %} {% endblock %}