Pour réaliser un projet tel que celui là, le mieu est d'avoir quelques régles communes.
Voici donc le cahier des charges sur lequels nous allons travaillés.
1. Les utilisateurs
Les utilisateurs sont de deux types :
- Les étudiants
- Les professeurs
1.1 Les étudiants
Organisés en groupes, ils peuvent lire un sujet et y répondre en rendant leur projet.
1.2 Les professeurs
Il peuvent donner un sujet à des groupes.
1.3 Les groupes
Les groupes sont formé de 1 à plusieurs étudiants caractérisé par un nom et un chef de projet qui sera le seul à pouvoir rendre le projet.
2. La connexion
La connection se fait via le
module LDAP qui permet de ne pas avoir à inscrire les étudiants.
Lors de sa première connexion, un étudiant doit vérifier ses informations et son adresse e-mail.
Pour vérifier son adresse e-mail, le
module EMAIL lui envoi un mail avec un lien sur lequel il devra cliquer.
Son mail sera alors validé et il pourra se connecter.
3. Les Projets
3.1 Le sujet
Un projet est caractérisé par un sujet, une date de début de projet et une date limite après laquelle les documents rendus par les étudiants ne seront plus acceptés.
Au sujet peut-être joint un ou plusieurs documents gérés par le
module ARCHIVE.
Ces propriétes (sujet, date de début et date limite) pourront être changées à n'importe quel moment par les professeurs ce qui
enverra un e-mail aux personnes concernés pour les avertir de la modification.
Lors de la modification, le professeurs devra donc donner un commentaire de modification et choisir s'il veut ou non prévenir les étudiants de cette modification.
C'est à dire choisir si la modification est majeure (change le contenu) ou mineure (corrige une faute de frappe par exemple).
3.2 Les travaux rendus
Les travaux des étudiants pourront prendre la forme d'un ou plusieurs fichiers regroupé dans une archive.
Cette archive sera décompréssé sur le serveur dans un répertoire suivant un
schéma près défini (travaux/idSujet/idGroupe/)
A chaque modification du projet,
un e-mail sera envoyé à tous les membres du groupe pour les en avertir.
Un e-mail sera envoyé au chef de projet pour lui retourné la liste des fichiers uploadés ainsi que la
somme MD5 de l'archive.
Toutes les actions seront stoqués dans
les logs.
3.3 Rendre un projet
Un projet pourra être rendu à tout moment entre la date de début et la date de fin.
Les étudiants du groupe pourront consulter les fichiers, télécharger l'archive.
Le chef de projet pourra mettre à jour.
Un quota limite fixé par le prof au début de chaque projet limitera la taille du projet.
La
somme MD5 de l'archive permettra de vérifier l'intégritée de l'archive.
3.4 Récupérer un projet
A tout moment, un professeur pourra récupérer l'archive d'un ou de tous les projets rendus.
4. Sauvegarde
Une fonction de sauvegarder permettra de sauvegarder tous les projets dans un fichier ISO qui pourra être télécharger.
5. Logs
Toutes les actions seront sauvegardés dans deux fichiers.
- Un fichier de logs listant toutes les actions d'un utilisateur
- Un fichier de logs listant tous les utilisateurs ayant fait telle action.
C'est le
module de logs qui permettra cela.