ENSIIE / Projet web / Plateforme de timeline photo pour soirée et événement

Plateforme de timeline photo pour soirée et événement.

Contexte du projet

Aujourd’hui, la gestion des photos d’évènements à l’école est très basique. On se connecte sur iiens.net, on upload des photos dans un dossier et on les consulte. On a une interface un peu vieillote, pas très pratique, pas vraiment moderne mais tout fonctionne.

Le but est de proposer un nouveau fonctionnement et une nouvelle interface sous la forme d’une application web (qui pourra plus tard être intégrée à iiens.net).

Pré-requis

Comme pour tous les sujets, on devra au moins retrouver dans l’application finale les parties suivantes :

  • Une authentification
  • Un compte administrateur donnant les droits à certaines fonctionnalités (au choix)
  • Un profil utilisateur éditable
  • Une base de données relationnelle :
  • au moins 3 tables
  • au moins une table de jointure (1…n, n…n)
  • au moins une jointure dans une requête
  • des INSERT, DELETE, UPDATE, SELECT
  • Un CRUDL (Create Read Update Delete List)
  • Du javascript (au minimum validation JS des formulaires)

Objectifs

Proposer une application qui améliore le système de gestion des photos d’iiens.net.

Pour ce faire, l’idée est de pouvoir définir un contexte précis afin de restituer le cadre dans lequel une photo a été prise.

Nous allons donc pouvoir créer des évènements, qui pourront être divisés en périodes. Chacune de ces périodes correspond à un interval de temps de l’évènement.

Evènement : Soirée d’or

  • concert Muzik 18h-20h
  • Proj itv 20h-20h30
  • Repas cuisine 20h30-21h15
  • DansIIE 21h15-22h
  • Nightiies – 22h – 01h
  • Blind Test “22h15-22h45”
  • Etc

Et c’est à partir de là que l’on va pouvoir positionner des photos sur cette “timeline” afin de déterminer à quel moment de l’évènement la photo a été prise.

Les difficultés du projet

Ce projet ne propose pas de challenge technique particulièrement poussé. Il y a assez peu de logique métier et la plupart des problèmes de code devraient tomber assez rapidement. Cependant, cet outil étant une amélioration d’un outil existant, il faudra impérativement qu’il n’y ait pas de régression de fonctionnalités (c’est à dire que les fonctionnalités qui étaient présentes doivent encore l’être).

L’autre point sur lequel il faudra faire particulièrement attention est : l’interface. Il y a beaucoup d’informations à représenter sur une seule page et le faire de façon claire est loin d’être évident, nous vous recommandons de faire des croquis d’interface avant de commencer à coder.

Listes des fonctionnalités minimales

  • Import des photos depuis un fichier *.tar.gz ou *.zip directement dans un évènement.
  • Consultation de l’ensemble des photos d’un évènement.
  • Consultation des photos d’un évènement 1 par 1.
  • Passage d’une photo à la suivante / précédente sans revenir à la liste.
  • Ajout / Suppression d’un évènement.

Certaines de ces fonctionnalités pourront être abandonnées au profit d’autres fonctionnalités alternatives. Il faudra impérativement que ces choix de design, d’UX ou encore d’architecture soient justifiés !!

Propositions de features

Comme pour tous les projets, vous pouvez choisir de l’adapter / de l’étoffer tant que tous les pré-requis sont remplis. Voici en exemple une petite liste de fonctionnalités qui pourraient être implémentées dans le cadre du projet :

  • Insertion automatique des photos dans la timeline basée sur leur date de prise
  • Un mode éditeur permettant de déplacer des photos sur la timeline via drag’n drop
  • Aujourd’hui les photos prises par différents élèves se retrouvent dans des dossiers évènements différents. Permettre la “fusion” de ces ensembles de photos au sein d’une même timeline, et identifier quel élève a pris la photo.
  • Pouvoir accéder à l’ensemble des photos prises par un élèves.
  • Permettre aux étudiants de tagger sur les photos d’autres élèves, pouvoir consulter l’ensemble des photos où un élève est taggé.
  • Mettre en place un login utilisant le LDAP arise (pour facilité une intégration future …)
  • Permettre aux périodes d’un évènement de se chevaucher
  • etc