PRÉSENTATION DU COURS

Projet - Shibe gallery

Gallerie de portrait shiba inu

Shibe gallery

Nouveau type de projet, ici le but va être de charger des photos de shiba inu depuis une api et de les afficher dans la page pour que des personnes puissent les consulter. Attention, il faudra aussi que les personnes puissent charger de nouvelles photos

Consignes

Réalisez une page permettant de faire les choses suivantes :

  • Avoir un titre expliquant le but de la page
  • Un espace vide pour accueillir vos photos (vous decidez du nombre de photos à afficher)
  • Un bouton permettant de charger de nouvelles photos
  • Lorsque l’on clique sur le bouton, les photos doivent être remplacées

les données sont à récupérer depuis ce site : https://shibe.online/

Attention, afin que tout marche correctement, vous devez préfixer l'url de l'api shibe.online de cette façon là : https://cors-anywhere.herokuapp.com/urlvousvoulezallerchercher, exemple : https://cors-anywhere.herokuapp.com/https://google.com

PRO TIP: Utilisez code sandbox pour faire les exercices sans vous prendre la tête

Attention, nous allons ici faire dees reqûete asynchrone, ce qui veut dire que les donnés vont certainement arriver après le chargement de la page !

Utilitaire

Petit rappel concernant les requêtes asynchrone en javascript, voilà comment ça se construit :

    fetch('votre url') // On fait notre appel
        .then((res) => res.json()) // Le resultat sera certainement en json donc nous le convertissons
        .then((res) => {
            // vous gérez désormais la réponse du serveur qui vous a été passée dans la variable "res"
        }) 

Plus d'informations sur la documentation mdn de fetch

Gonna go fast ?

Si vous trouvez ça trop facile à votre gôut, vous pouvez ajouter les choses suivantes :

  • Un indicateur de chargement des shibe (le temps de récupération des données de la requête)
  • Ajouter des éléments indiquant qu'il n'y a pas encore de shibe dans la galerie
  • Ajouter une petite animation lorque l'on charge de nouveaux shibe avec animate css : https://github.com/daneden/animate.css

La correction

Si vous avez fini, ou que vous êtes vraiment coincé vous pouvez aller voir directement la correction

Ne faites pas cela par facilité, vous n'apprendrez rien de cette manière

Envie de discuter du contenu ?

logo twitter @GarnierKristen