Vous êtes sur la page 1sur 4
Ecole Internationale des Sciences du Traitement de l'Information CPI2 2012-2013 PHP-BDD Stefan Bornhofen – Bart

Ecole

Internationale

des Sciences

du

Traitement

de

l'Information

CPI2 2012-2013

PHP-BDD

Stefan Bornhofen – Bart George – Peio Loubière – Hervé de Milleville

Projet de PHP-BDD (novembre 2012 – janvier 2013)

Objectif

Le service scolarité de l'EISTI a besoin d'un site web pour gérer le bulletin de note des

élèves. Ce qui comprend : la définition des matières et de leurs coefficients respectifs,

), et la saisie des

notes pour chaque étudiant. Jusqu'à présent, la gestion se faisait au moyen d'un unique fichier Excel, ce qui était laborieux. Un site web permettra de simplifier la gestion des données et de clarifier la mise à jour des notes.

ainsi que, pour chaque module, le descriptif des examens (DS, Tp noté

Pour des raisons de simplicité, nous nous contenterons des matières de CPI 1 et 2, ce qui laissera de côté le découpage option/module/matière, ou parcous/module/matière, tel qu'on le retrouve en cycle ingénieur.

1 – Sujet

L'interface Web devra être divisée en 3 modules : un module "Etudiant", un module "Professeur" et un module "Administrateur". Bien entendu, chacun ne pourra accéder qu'au module correspondant à sa qualification.

1.1 – Module "administrateur"

Il permet, une fois connecté en tant qu'admin (la vérification login/mot de passe se fait via la BDD), de consulter et de modifier, pour chaque promo, les différents modules, pour chaque module, les différentes matières, et pour chaque matière, les différents examens.

1.1.1 – Consultation et gestion des enseignements Pour chaque promo, il faut pouvoir accéder au moins aux informations suivantes :

Intitulé du module (Mathématiques, Informatique

Matières associées

Coefficient

)

Une matière est caractérisée, entre autres, par les informations suivantes :

Intitulé de la matière (exemple : PHP-BDD ou Algorithmique fonctionnelle pour l'informatique)

Coefficient

Liste des examens

Moyenne de la promo

Un examen est caractérisé, entre autres, par les informations suivantes :

Type (DS, DM, TP noté, Mini-projet, Projet)

Poids

Date

Moyenne de la promo

A noter que l'admin doit pouvoir rentrer de nouveaux modules, matières et examens, en renseignant les champs mentionnés ci-dessus. Il doit également avoir la possibilité de modifier ou de supprimer les différents modules, matières et examens existants.

Par ailleurs, une formule de calcul automatique de la moyenne de la promo pour chaque examen et chaque matière doit être établie en fonction des élèves présents (et des coefficients associés aux examens et aux matières).

1.1.2 – Consultation et gestion des étudiants

Pour chaque promo (CPI1 ou CPI2), il faut également pouvoir accéder à la liste des étudiants. Un étudiant est caractérisé, entre autres, par les informations suivantes :

Numéro d'étudiant

Nom

Prénom

A noter que l'admin doit pouvoir rentrer de nouveaux étudiants, en renseignant les champs mentionnés ci-dessus. Il doit également avoir la possibilité de modifier ou de supprimer les étudiants existants.

Un étudiant est également caractérisé par les informations suivantes, que l'admin peut uniquement consulter sans pouvoir les modifier :

Pour chaque examen de chaque matière, la note associée. S'il a été absent, il faut savoir s'il a justifié ou pas.

Pour chaque matière et chaque module, la moyenne.

Moyenne générale.

Une formule de calcul automatique de la moyenne de chaque étudiant pour chaque matière doit être établie en fonction des examens présents et des coefficients associés. Il en va de même pour le calcul de la moyenne générale, calculée en fonction des matières existantes et des coefficients associés. Une modification d'un coefficient, ou une suppression d'examen (ou de matière) aura pour effet de modifier automatiquement la formule de calcul de la moyenne correspondante.

1.1.3 – Consultation et gestion des professeurs

Pour chaque matière de chaque module, il faut également pouvoir accéder aux professeurs en charge de la matière. Un professeur est caractérisé, entre autres, par les informations suivantes :

Nom

Prénom

Numéro de bureau

Téléphone de bureau

A noter que l'admin doit pouvoir rentrer de nouveaux professeurs, en renseignant les champs mentionnés ci-dessus. Il doit également avoir la possibilité d'attribuer une nouvelle matière à un professeur existant, ou à l'inverse, de lui en retirer une.

1.1.4 – Extraction des informations

Pour chaque étudiant, matière ou promo, il faut pouvoir exporter dans un fichier Excel tout ou partie des informations renseignées, selon ce que l'admin aura choisi de garder.

1.2 – Module "professeur"

Il permet, une fois connecté en tant que professeur (la vérification login/mot de passe se fait via la BDD), de consulter les notes de chaque élève pour chaque examen, matière, module et promo, et surtout, pour les matières dont il a la charge, de rentrer les notes de chaque élève.

1.2.1 – Consultation des notes des étudiants

Pour chaque promo, et chaque étudiant individuel, le professeur doit pouvoir consulter les notes pour chaque examen, la moyenne pour chaque matière, et la moyenne générale. Il n'a, en revanche, pas le droit d'apporter la moindre modification s'il n'est pas responsable de la matière (pour faire simple, on considère qu'il n'y a qu'un responsable par matière).

1.2.2 – Saisie et modification des notes

Pour chaque matière dont il a la charge, le professeur doit pouvoir saisir les notes de chaque étudiant à chaque examen, et les modifier si besoin est. La saisie ou la modification d'une nouvelle note aura pour effet de recalculer automatiquement la moyenne, pour la matière, de l'étudiant concerné, ainsi que sa moyenne générale, la moyenne de la promo, et la moyenne générale de la promo.

Il se peut que l'élève soit absent à l'examen, auquel cas il faut renseigner si l'absence est justifiée ou pas. Dans le premier cas, la note n'est pas prise en compte dans le calcul de la moyenne. Dans le deuxième cas, la note est de zéro .

1.3 – Module "étudiant"

Il permet, une fois connecté en tant qu'étudiant (la vérification login/mot de passe se fait via la BDD), de consulter ses notes pour chaque examen, sa moyenne pour chaque matière, et sa moyenne générale. Il peut en faire de même pour ses camarades. Il peut également consulter la moyenne de la promo pour chaque examen et chaque matière, ainsi que la moyenne générale de la promo. Il ne peut absolument rien modifier.

1.4 – Travail optionnel

Pour des raisons de temps et de simplicité, on ne vous demandera pas de gérer les notes des élèves de cycle ingénieur. Toutefois, les plus déterminés pourront s'y atteler (ou rajouter ce qu'ils voudront) une fois qu'ils auront rempli TOUS les objectifs énoncés précédemment. De même, en ce qui concerne la base de données, elle est donnée à titre indicatif : rien ne vous empêche de rajouter les tables et clés qui vous sembleront utiles (mais il faudra le justifier). De manière générale, la règle qui s'applique reste la même que pour le projet du premier semestre : "vous pouvez toujours faire plus, jamais moins".

2

– Base de données pour le projet

La base de données correspondant au sujet est la suivante :

Role (idRole, libelle) Module (idMod, libelle, #idPromo) Matiere (idMat, libelle, coefMat, #idMod, #idProf) Typexam (idType, libelle, coef) Promo (idPromo, libelle) Examen (idExam, libelle, #idMat, date, #idType) Utilisateur (idUtil, login, pass, nom, prenom, #idRole) Prof (idProf, numBureau, telBureau, #idUtil) Eleve (numEtudiant, anneeRedouble, #idPromo, #idUtil) Participe (#numEtudiant, #idExam, note)

Vous devrez la prendre comme point de départ. Il est possible d'y apporter des modifications ou améliorations, à condition bien entendu que celles-ci soient justifiées, et qu'elles se fassent dans le respect des consignes indiquées précédemment.

3 – Évaluation

Vous devrez réaliser ce projet par équipes de 3 à 4 étudiants, pas plus, pas moins.

Les points suivants seront appréciés :

Respect de l'architecture MVC.

Sécurité de l'application !! (on ne doit pas pouvoir accéder à une page si on n'a pas les droits et si on n'est pas connecté, méfiez-vous de ce point !)

Ergonomie de l'application (look, facilité d'utilisation

Documentation (code commenté, manuel d'utilisation

Jeux de tests.

Rapport clair et exhaustif.

Code facilement adaptable et évolutif (notamment pour l'interrogation de la BDD).

Interface paramétrable facilement (URL et nom de la base, fichier de propriétés

Archive complète (nommée selon les membres du groupe, avec code source du projet, script de création de la base de données, jeux de tests, rapports

En revanche, les points suivants seront sévèrement sanctionnés:

Archive invalide, incomplète ou mal nommée.

Travail rendu en retard.

Code et algorithme pas ou peu commentés.

Une présentation publique aura lieu début janvier. Il est prévu d'interroger l'ensemble du groupe sur le rendu final, ainsi que sur la contribution personnelle de chacun. Il va de soi que si un élève n'est pas capable de répondre à des questions concernant le projet de son propre groupe (la cause étant le plus souvent un travail personnel insuffisant), cela se traduira par une différenciation des notes.