TIWe1 2014-2015: Fondamentaux des bases de données

Cette unité d'enseignement du master Technologies de l'information et Web a pour objectif de donner quelques notions couramment utilisées pour la recherche en bases de données. Les deux principaux sujets abordés cette années sont :

Informations administratives

<note> Actualités :

</note>

Séances

Les séances ont lieu le jeudi de 14h à 18h au bâtiment Nautibus en mode cours intégré.

Projet de conception

Le projet est à réaliser seul ou en binôme, il consiste à produire un proof-of-concept de contrôle d'accès par la provenance. Le choix des technologies utilisées est laissé libre au choix des étudiants, mais Java ou PHP est à privilégier.

Description du projet

Les principales étapes du projets sont les suivantes :

  1. installation du prototype PermDBMS qui est une version modifiée de PostgreSQL;
  2. modélisation et création d'une table système contenant les privilèges des utilisateurs (il ne sont pas transmis avec la requête);
  3. création d'un jeu d'essai inspiré des exemples où chaque table contient une colonne supplémentaire stag qui contiendra les droits d'accès aux tuples;
  4. mise en place d'une application (web) qui reçoit les requêtes et les identifiants des utilisateurs et les transmets à PermDBMS via ODBC/JDBC, cette application sert de proxy et c'est elle qui sera en charge du filtrage;
  5. modification de l'application pour réécrire les requêtes SQL de l'utilisateur en ajoutant le mot-clef PROVENANCE avant de la faire exécuter par PermDBMS;
  6. modification de l'application pour filtrer les résultats des requêtes en ne gardant que les tuples auxquels l'utilisateur a accès en comparant ses accréditations aux stag des tuples du résultat;
  7. démonstration du fonctionnement général de l'application.

Le fonctionnement général est illustré par le diagramme de séquence suivant (crédits, Mayara KHADRAOUI)

Pour le modèle de contrôle d'accès, on choisira typiquement une des structures suivantes :

Remarques
Modalités de rendu et d'évaluation

Le projet sera évalué sur la base d'un rapport qui explique pour chacune des étapes du projet ce qui a été réalisé, quels sont les choix de conception qui ont été faits dans l'implémentation et le résultat obtenu. En conclusion, le rapport contiendra une section qui indiquera le temps total passé sur le projet et proposera un regard sur la réalisation et le mécanisme proposé (e.g., faisabilité d'un intégration dans Postgre, passage à l'échelle du système). Le code source de votre application sera fourni en annexe en .zip.

Le projet sera compté dans la moyenne seulement si la note attribuée est supérieure à la note obtenue à l'examen. Le cas échéant, le projet aura un coefficient 1 et l'examen un coefficient 2.

<note important>la date limite pour rendre le mini-projet est fixée au 28 novembre 18h</note>

Références