Licence3 Informatique - Projet SR I5TC1 Ann´ ee 2007/2008
Syst` eme de tags de fichiers
Description du projet
Le syst`eme `a implanter consiste `a ajouter des informations s´emantiques `a un syst`eme de fichier Unix par le biais d’´etiquettes (tags) associ´ees aux fichiers. Par exemple, les tags peuvent ˆ
etre Important, Public, Priv´e, R´ecent, Ancien, Brouillon, Final, ...La liste des tags n’est pas fix´ee `a l’avance : l’utilisateur peut cr´eer de nouveaux tags `a tout moment.
Le syst`eme doit imp´erativement ˆetre ´ecrit en utilisant uniquementles langages C et/ou awk et/ou shell et int´egrerau minimumles sp´ecificit´es suivantes :
– Possibilit´e d’ajout/suppression d’un tag sur un fichier ou une liste de fichiers.
– Possibilit´e d’utilisation de toute commande shell qui peut prendre en param`etre un en- semble de fichiers et/ou r´epertoires en lui passant un tag en param`etre. Exemple : ls IMPORTANT ou rm ANCIEN.
– Certains tags sont incompatibles, par exemplePublic-Priv´e;Ancien-R´ecent;Brouillon- Final, ... le syst`eme doit donc empˆecher l’utilisateur d’associer deux tags incompatibles
`
a un mˆeme fichier.
Le sujet propos´e est volontairement assez vague pour vous permettre de proposer des solu- tions originales, il vous est donc demand´e de bien r´efl´echir dans un premier temps `a tous les choix qui s’offrent `a vous et de commencer `a implanter une solution “minimale”, puis d’en augmenter les fonctionnalit´es suivant le temps disponible par la suite.
Parmi les possibilit´es suivantes de fonctionnalit´es suppl´ementaires, il vous est demand´e d’en implanterau moins une :
1. Gestion du tag Public : tout fichier avec ce tag doit pouvoir ˆetre vu par les autres utilisateurs sur le mˆeme r´eseau : un ls Publicdevra donner la liste des fichiers ´etiquet´es Publicde toutes les utilisateurs qui font tourner le syst`eme de tag de fichiers sur le r´eseau.
2. Gestion des tags sur les r´epertoires : un tag sur un r´epertoire s’applique `a toute la sous- arborescence correspondante.
3. Gestion des tags d´ependants du temps : le tag R´ecent peut par exemple ˆetre supprim´e au bout d’un certain temps ou transform´e automatiquement en tag Ancien.
Modalit´ es de r´ ealisation
Le projet est `a r´ealiser par binˆome. En cas de probl`eme sur le nombre d’´etudiants (3 `a la place de 2 par exemple) vous devez envoyer un mail `a votre enseignant de TD et attendre sa validation. Le travail r´ealis´e par un groupe de plus de deux ´etudiants doit ˆetre plus important (en terme de fonctionnalit´es d´evelopp´ees) que celui r´ealis´e par un binˆome.
L’´evaluation du projet se fait `a trois niveaux : programmation (application des concepts des syst`emes vus en cours), rapports (maˆıtrise des diff´erents concepts, choix des strat´egies les plus adapt´ees), d´emonstration (sc´enario, jeu de tests, participation orale, r´eponse aux questions). La notation est `a titre indicatif : 8+8+4.
1
Documents `a produire :
– unrapport d’analysed´etaillant l’architecture retenue et sa justification (4-5 pages suffisent si vous ˆetes clairs et pr´ecis). La non remise du rapport d’analyse entraˆıne automatiquement une notation sur 4 pts pour le rapport final.
– unrapport final.
Nota : quelques conseils pour r´ediger un bon rapport sont disponibles `a l’URL
http://ufrsciencestech.u-bourgogne.fr/~gadavid/index.php/Enseignement/Rapport.
Dates :
– remise du rapport d’analyse : semaine du 10 d´ecembre,
– soutenances de projets et remise du rapport final : semaine du 14 au 18 janvier.
2