Sujet du Devoir Projet

Master Internet, Données et Connaissances

Jean-Marc Lecarpentier

Enseignement des technologies du Web

 

Sujet du Devoir Projet

Fichiers PDF et métadonnées

Date de rendu du devoir : 14 décembre 2020

Objectif du devoir

L'objectif du devoir est de réaliser un catalogue de fichiers PDF (documentations, livres, etc) au format PDF.

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.

Ressources

Cette archive contient des PDFs avec diverses métadonnées : des métadonnées PDF seulement ou XMP seulement ou les deux (avec cohérence des infos) ou les deux (avec incohérences). Vous pouvez les utiliser pour tester votre application.

Partie publique

La page d'accueil affiche les fichiers présents dans un dossier livresavec leur titre et une éventuelle image (l'utilitaire convert permet de créer une image à partir d'un PDF). Pour chaque fichier, un lien envoie vers la page de détails du fichier.

La page de détails affiche les informations sur le fichier en faisant une extraction des métadonnées qu'il contient (extraites avec exiftool). On peut aussi afficher une capture de la première page du PDF (convert sait faire ça) Le code HTML de la page du livre doit inclure les Microdata, les données Open Graph et Twitter Cards qui le décrivent.

Partie à accès restreint

L'utilisateur connecté a la possibilité d'ajouter un fichier par upload réalisé en AJAX. Les métadonnées du fichier sont extraites de celle-ci et proposées dans un formulaire pour modification et/ou validation. Lors de l'enregistrement des informations du formulaire, les données saisies ainsi sont alors inscrites dans le fichier PDF pour s'assurer de la cohérence des données.

Non demandé : il n'est pas nécessaire de gérer les comptes utilisateurs (création, modification, etc). Le réaliser n'apportera pas de points supplémentaires.

Une page liste les fichiers 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é. Deux comptes seront créés pour la connexion au site (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.

  • intégrer des web components
  • upload multiple avec barre de progression
  • utilisation de Twig pour les templates du site
  • gestion de la cohérence des métadonnées : la même information peut être stockée à divers endroits (PDF 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 PDF ou XMP si les 2 sont différentes, ou bien laisser l'utilisateur saisir une autre version. L'enregistrement des informations dans les métadonnées du fichier doit permettre d'avoir des métadonnées cohérentes dans le fichier qui en résulte.
  • ajouter à l'application l'enregistrement des données (avec ou sans base de données) afin que les métadonnées ne soient pas extraites des fichiers à chaque affichage
  • un fichier peut être acheté en ligne. L'utilisateur saisit simplement son adresse email, effectue le paiement 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
  • Ergonomie du site
  • Validation des pages
  • Architecture logicielle
  • Respect des règles de bonne pratique PHP (autoload, codage, nommage, etc)

À 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-NUMETU.users.info.unicaen.fr/devoir-idc2020/
  • une archive zip de votre code source (sans les fichiers uploadés !) sur la plate-forme ecampus

Date de rendu du devoir : 14 décembre 2020