Mettre en place la base de données et modifier le projet de départ pour intégrer les requêtes SQL nécessaires au fonctionnement de l'application Monovox permettant de gérer le fonctionnement des cours dans un établissement d'enseignement:
Installer l'interpréteur PHP
su root -c "apt update && apt install -y php php-mysql zip unzip"
Récupérer le projet de départ, en usager STANDARD
wget -O monovox.zip {URL CI-DESSUS}
unzip monovox.zip
Et finalement démarrer l'application, qui sera accessible via un navigateur web http://a.b.c.d:8080
selon l'IP de votre machine virtuelle
cd monovox
./run.sh
Puis, l'opération inverse pour effectuer votre remise
zip remise.zip -r monovox/
monovox
, avec les accès complet à l'interne par l'utilisateur tux
et le mot de passe freeandopensource
Appliquer le script du fichier _init.sql
qui contient la structure initiale de la base de données
Les requêtes SQL nécessaires au fonctionnement de l'application sont regroupées dans le dossier db
du projet de départ. Implémenter la requête décrite dans chaque fichier selon le format demandé.
Vous devez mettre en place toutes vos modifications à la base de données initiale dans le fichier lab.sql
lab.sql
sera appliqué après _init.sql
lors de la correction
lab.sql
, cet environnement existera lors de la correctionLes tables en gris sont fournies dans le projet de départ. Les données de ces tables sont fournies périodiquement par un autre système, Monovox ne les manipule qu'en lecture seulement. Les tables assignments
et grades
sont à implémenter et appartiennent à Monovox.
Les enseignants de l'établissement qui peuvent accéder au système via leur numéro d'employé et un mot de passe.
Les étudiants de l'établissement qui peuvent accéder au système via leur numéro d'étudiant et un mot de passe.
Les sujets pouvant être enseignés.
Un groupe identifie le sujet d'un enseignant pour une session. Chaque groupe possède un numéro unique pour la même combinaison de session et cours. Un enseignant ne peut pas enseigner le même sujet plusieurs fois au même groupe dans une session.
Une classe représente l'inscription d'un étudiant dans un groupe.
Un énoncé représente un travail demandé aux étudiants d'un groupe. Il est identifié par un nom, son poids dans la session(%), le nombre de points d'évaluation et la date d'échéance.
Une note est le résultat d'un étudiant pour un travail.
Pour chaque table ci-dessous, implémenter le mécanisme approprié permettant d'assurer l'intégrité des données.
18 décembre, 8h via LÉA
Nom:
Suivi 1 | |
Démarrage de l'application web | 2 0 |
Création des tables, Données de départ | 3 2.5 2 1 0 |
Requête 3, Affichage Web /pages/teachers/groups | 2 1.5 1 0 |
Suivi 2 | |
Intégrité des données des assignments | 2 1.5 1 0 |
Requête 5, Affichage Web /pages/teachers/assignments | 2 1.5 1 0 |
Requête 9, Affichage Web créer assignment | 2 1.5 1 0 |
LIVRAISON | |
Remise | |
Zip et dossier complet | 0 -1 -2 |
Qualité de rédaction | 0 -0.5 -1 -2 |
Qualité de l'implémentation | 0 -0.5 -1 -2 |
Exécution répétée lab.sql, delimiters | 0 -0.5 -1 -2 |
Respect des identifiants de la base de données et de l'utilisateur | 0 -1 -2 |
Tables | |
Création de la table assignments, colonnes, types, attributs, clés | 2 1.5 1 0 |
Création de la table grades, colonnes, types, attributs, clés | 2 1.5 1 0 |
Insertion de données de départ significatives, assignments et grades | 2 1.5 1 0 |
Intégrité | |
assignments, Aucunes valeurs vides | 1 0.5 0 |
assignments, Poids >= 0 et <= 100 | 1 0.5 0 |
assignments, Points > 0 | 1 0.5 0 |
assignments, Date >= aujourd'hui | 1 0.5 0 |
assignments, Somme des poids <= 100 | 1 0.5 0 |
assignments, Création du travail crée les notes | 1 0.5 0 |
grades, Points NULL OU >= 0 | 1 0.5 0 |
grades, Suppression du travail supprime les notes | 1 0.5 0 |
Respect de la relation avec l'enseignant | 2 1.5 1 0 |
Requêtes | |
03 $groups, students, tri code et number | 2 1.5 1 0 |
05 $assignments, average, failed, filled, total, tri date | 2 1.5 1 0 |
06 $assignments adjacents, average, tri date | 2 1.5 1 0 |
07 $grades du travail, tri nom | 2 1.5 1 0 |
08 $assignment, remaining_weight, gestion null si création | 2 1.5 1 0 |
09 insert | 2 1.5 1 0 |
10 update | 2 1.5 1 0 |
11 delete | 2 1.5 1 0 |
13 $grades, infos adjacentes(note, travail, cours, enseignant), résultat percent, average, tri code et date | 3 2.5 2 1 0 |
via une View | 2 1.5 1 0 |