L'Atelier du Web

Recherche de Pokémon

Maintenant que tu maîtrises les bases de JavaScript, nous allons combiner tout ce que tu as appris pour créer un moteur de recherche de Pokémon ! Ce projet va te permettre de mettre en pratique :

  1. L’écoute de l’événement de clic sur un bouton,
  2. La récupération de la valeur du champ de texte dans une variable,
  3. L’utilisation d’une API (PokéAPI),
  4. La manipulation de l’objet renvoyé par l’API, contenant les données du Pokémon,
  5. La modification du HTML pour afficher les résultats.
Exemple
Entre le nom anglais d'un Pokémon.
Exemples : pikachu, charizard, bulbasaur

Illustration du Pokémon

Découvrir PokéAPI

PokéAPI est une API gratuite qui fournit des informations sur tous les Pokémon. Pour récupérer les données d’un Pokémon, il suffit d’envoyer une requête à l’URL suivante, en changeant le nom du Pokémon :

https://pokeapi.co/api/v2/pokemon/pikachu
Console
  1. Exécute le code pour voir les données de Pikachu dans la console.
  2. L’objet contient énormément d’informations ! Tu peux afficher uniquement le nom (pokemon.name) et le poids (pokemon.weight).
  3. Essaie de remplacer « pikachu » par « ditto » ou « mewtwo » pour obtenir d’autres Pokémon.

Récupérer l’entrée de l’utilisateur

Pour créer une recherche, nous avons besoin d’un champ de texte où l’utilisateur peut taper le nom du Pokémon, et d’un bouton pour lancer la recherche.

HTML
<input type="text" id="pokemon-input" placeholder="Nom du Pokémon" />
<button id="search-button">Rechercher</button>
<div id="result"></div>

En JavaScript, on peut récupérer la valeur du champ de texte avec la propriété value :

JS
const input = document.getElementById("pokemon-input")
const button = document.getElementById("search-button")
const result = document.getElementById("result")
button.addEventListener("click", async () => {
const pokemonName = input.value
console.log("Recherche de : " + pokemonName)
})

Essaie d’ajouter cette fonctionnalité dans l’éditeur ci-dessous. Tape un nom dans le champ et vérifie que la console affiche bien le nom que tu as entré.

Afficher les informations du Pokémon

Maintenant, utilisons la valeur saisie pour faire une requête à l’API et afficher les informations du Pokémon.

Onglet verrouillé
Console
  1. Dans l’event listener, utilise fetch pour récupérer les données du Pokémon en utilisant la variable pokemonName.
  2. Convertis la réponse en objet avec response.json().
  3. Utilise result.innerHTML pour afficher le nom et le poids du Pokémon.
  4. Teste avec différents noms : pikachu, ditto, mewtwo…

Afficher l’image du Pokémon

Les données du Pokémon contiennent également une image ! Elle se trouve dans pokemon.sprites.front_default. Ajoutons-la à notre affichage :

JS
result.innerHTML =
"<h3>" +
pokemon.name +
"</h3>" +
'<img src="' +
pokemon.sprites.front_default +
'" />' +
"<p>Poids : " +
pokemon.weight +
"</p>"

Ajoute l’image du Pokémon dans le code précédent. Tu peux également afficher d’autres informations comme la taille (pokemon.height) ou les types (pokemon.types).

Félicitations ! Tu as créé ton premier projet JavaScript complet. Tu peux maintenant réutiliser ces connaissances pour créer d’autres projets : une application météo, un convertisseur de devises, un jeu de quiz… Les possibilités sont infinies ! 🎉

Bonjour ! Je suis un assistant IA qui peut te donner des conseils pour réussir les exercices et améliorer ton code. Utilise le bouton « J'ai besoin d'aide » pour m'appeler !