Aller au contenu principal

TP1 - Dernière musique FM (5%)

📥 Remise

  • 📍 Où : sur Git uniquement
  • ⏰ Heure : avant 23h59
  • 📅 Date : 4 septembre (groupe de Mathieu Dupont) et 5 septembre (groupe de Maxime Pelletier)

📜 Présentation du TP

Ce premier TP sera plutôt court. 🤏 Il faudra créer une application Web client Angular permettant de rechercher les albums d'un artiste et les chansons d'un album.

  • Le TP doit être fait de manière individuelle.
  • L'usage du framework Angular est obligatoire.
  • L'API Web de Last FM devrait être utilisée.
  • Attention au plagiat. Il est interdit de copier en partie ou complètement le code d'une autre personne.
  • L'interface graphique de votre page Web n'a pas à être jolie ou identique à celle illustrée dans les exemples. Il suffit qu'elle soit simple à utiliser et claire. Ne perdez pas trop de temps avec le CSS.

Clé d'API Last FM fournie : 9a8a3facebbccaf363bb9fd68fa37abf

Requêtes à utiliser :

danger

Si votre travail est suspecté de plagiat (code copié d'un(e) autre étudiant(e), code généré par IA, notions non abordées en classe, etc.), deux choses peuvent se produire :

  • Le plagiat est prouvé par nos outils : Note de 0, automatiquement.
  • Le plagiat est plutôt évident, mais une validation est requise : vous serez convoqué(e) au bureau de votre enseignant(e). Vous devrez répondre à certaines questions pour prouver que vous comprenez et maîtrisez le code qui a été utilisé dans votre TP. Si vous ne réussissez pas à répondre à certaines questions, vous aurez la note de 0. (Si vous ne comprenez pas votre propre code, c'est que vous avez plagié, d'une manière ou d'une autre.)

⚙ Fonctionnalités

On doit pouvoir chercher (et afficher) les albums d'un artiste en écrivant son nom :

Recherche d'albums

On doit pouvoir chercher (et afficher) les chansons d'un album en cliquant sur sa pochette :

Recherche de chansons

⚠ Exigences supplémentaires

  1. Lorsque l'artiste recherché n'existe pas (et génère une erreur), un message d'erreur est affiché. 🐞

  2. Lorsqu'on lance une nouvelle recherche, les résultats précédents (albums et chansons) doivent être nettoyés. (Exception : quand on clique sur un album, on doit laisser la liste d'albums intacte et on a juste à nettoyer les précédentes chansons) 🧹

  3. Les chansons d'un album sont seulement recherchées si on clique sur sa pochette. (Ne recherchez pas automatiquement toutes les chansons de tous les albums d'un artiste ! C'est trop gourmand ! 🍗)

  4. Vous ne devez utiliser qu'un seul composant. (app) ☝

  5. Il est obligatoire de créer (et d'utiliser) une classe pour les albums. 📦

🔱🦑 Usage de Git

Utiliser Git sera obligatoire pour ce TP. (Et tous les suivants)

  • Vous devez inviter l'enseignant (https://github.com/MaximePelletier15) comme collaborateur dès le début du TP.
  • Un minimum de trois commits est attendu. (Au moins 1 par fonctionnalité + le commit initial)
  • Un titre et une description claire pour chaque commit. (Voir les normes du département au besoin)
  • ⛔ Faites un push à chaque commit ! Protégez votre travail ! ⛔

⚖ Grille de correction

CritèrePoints
Requête pour obtenir les albums et extraction des données JSON4 pts
Requête pour obtenir les chansons et extraction des données JSON4 pts
Affichage des albums2 pts
Affichage des chansons2 pts
Gestion des inputs de l'utilisateur (champ textuel, bouton cliquable et album cliquable)4 pts
Gestion des erreurs0.5 pt
Nettoyage d'anciens résultats0.5 pt
Usage d'une classe pour les albums1 pt
Usage de Git approprié2 pts
Pénalité en lien avec certaines exigences non respectées (interface graphique difficile à utiliser, requêtes inutiles et usage de plusieurs composants)-3 pts
Total20 pts