Sujet du Devoir Projet

Master Internet, Données et Connaissances

Jean-Marc Lecarpentier

Enseignement des technologies du Web

 

Sujet du Devoir Projet

Microdata, Images et Métadonnées

Date de rendu du devoir : 17 décembre 2021

Objectif du devoir

L'objectif du devoir est de réaliser une galerie d'images simple sans base de données.

Une archive contenant des images est fournie pour démarrer.

Points obligatoires à réaliser, notés sur 15

Le site doit être responsive et utiliser CSS Grid et/ou Flexbox.

Le site contiendra une partie publique et une partie accessible par authentification.

Partie publique

La page d'accueil de l'application affiche les images présentes dans le dossier images (vous pouvez renommer les fichiers et créer des miniatures si besoin). Pour chaque image, un lien envoie vers la page de détails d'une image.

La page de détails d'une image affiche l'image et les métadonnées qu'elle contient. Les métadonnées sont extraites de l'image avec exiftool, et le code source de la page doit inclure les Microdata, les données Open Graph et Twitter Cards.

Si l'image contient des informations de géolocalisation, une carte permet de visualiser sa position.

Partie à accès restrient

L'utilisateur connecté a la possibilité d'ajouter une image par upload réalisé en AJAX. Les métadonnées de l'image sont extraites de celle-ci et proposées dans un formulaire pour modification et/ou validation. Les données ainsi modifiées sont alors réinscrites dans l'image pour s'assurer de la cohérence des données.

Nota : la taille des images devra être adaptée à l'affichage responsive. Il sera peut-être nécessaire de générer les fichiers pour les diverses tailles envisagées.

Une page liste les images de la galerie et permet de les modifier/supprimer.

Page technique sur l'implémentation

Une page contiendra la composition de l'éventuel binôme ainsi que les détails techniques sur l'implémentation du devoir que vous avez réalisé. En particulier 2 comptes seront créés pour Alexandre et Jean-Marc et vous indiquerez sur cette page leur login et mot de passe.

Compléments possibles, notés sur 5

Réaliser deux compléments parmi la liste proposée ci-dessous.

Note : la liste ci-dessous n'est absolument pas ordonnée selon quelque critère que ce soit.

  • un module de modification des images utilisant JS et canvas (rotate/crop par ex.)
  • intégrer des web components (par ex. pour la carte)
  • upload multiple avec barre de progression
  • utilisation de Twig pour les templates du site
  • gestion de la cohérence des métadonnées (par ex. le titre de l'image figure dans des métadonnées XMP et IPTC, s’assurer que les 2 ont le même titre)
  • la même information peut être stockée à divers endroits (EXITF, IPTC ou XMP). L'application peut donc détecter les incohérences et proposer un formulaire affichant les différences : par exemple le formulaire permet de choisir le titre IPTC ou XMP si les 2 sont différents, ou bien proposer une 3e version. L'enregistrement des informations doit permettre d'avoir des métadonnées cohérentes dans le fichier image qui en résulte.
  • ajouter à l'application une optimisation afin que les métadonnées ne soient pas extraites des images à chaque affichage. Cette optimisation doit être faite toujours sans base de données
  • un fichier peut être acheté en ligne. L'utilisateur saisit simplement son adresse email, effectue le paiement par carte bancaire et ensuite reçoit un email avec le fichier ou bien un lien de téléchargement

Critères d'évaluation

  • Réalisation des fonctionnalités demandées (fonctionnement, ergonomie) et des éventuels compléments
  • Architecture logicielle
  • Qualité de programmation
  • Respect des règles de bonne pratique PHP (autoload, codage, nommage, etc)
  • Ergonomie du site
  • Validation des pages

À rendre

Le devoir peut être fait individuellement ou en binôme. Vous devez rendre :

  • une version opérationnelle dans votre espace web personnel à l'URL dev-login.users.info.unicaen.fr/devoir-idc2021/
  • une archive zip de votre code source (sans les images !) sur la plate-forme ecampus

Date de rendu du devoir : 17 décembre 2021