Abonnement à ma liste de contacts

Etoiles inactivesEtoiles inactivesEtoiles inactivesEtoiles inactivesEtoiles inactives
 

La problématique :

Aujourd'hui, j'a déniché une API plutôt marrante, relativement facile à manipuler et plutot sympa : l'affichage d'images de la NASA. Rien que cela. Le principe est super simple : on attaque un service web qui retourne un fichier XML contenant une URL de l'image, que l'on intègre à une page web. Aller on y va en détail :

Le service interrogé : la NASA

La NASA fourni une documentation riche en informations, mais pas aussi bien faite, à mon goût que la doc d'Accuweather que nous avions vu la semaine dernière. Toute cette documentation se retrouve sur la page https://api.nasa.gov/api.html

Afin de pouvoir faire des tests, la NASA fournit une clef API pour vos développements. Son utilisation durant mon développement ne m'a prosé aucun problème.

Le résultat

 Détaillons le code

php debut

$url = "https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY";
$t = array();
$json=file_get_contents($url);
$tt = json_decode($json,true);
echo "Copyright : ".$tt["copyright"];
echo "Date : ".$tt["date"];
echo "Explications : ".$tt["explanation"]
echo "URL de l'image Haute définition : ".$tt["hdurl"];
echo "Type de média : ".$tt["media_type"];
echo "Version de service : ".$tt["service_version"];
echo "Titre : ".$tt["title"]
echo "URL SD de l'image : ".$tt["url"]."";
echo "‹img src="'.$tt["url"].'"›";

php fin

Explications

Le principe est simple : j'affecte dans une variable $url, la chaine de caractères qui va définir le webservice souhaité, je définis ligne 2 un tableau et ligne 3, je charge le contenu du fichier spécifié dans la variable $url, dans une variable json (vous l'aurez compris, on récupère un json). Je décode ce json avec json_decode et le deuxième paramètre "true", ce qui me permet de récupérer les valeurs dans un tableau associatif ($tt). Pour chacune des valeurs de ce tableau, j'affiche son contenu.

Notez que le code d'accès est "DEMO_KEY" car cette api est utilisée ici que dans le cadre d'une démonstration. Demandez votre clef API pour l'utiliser

Bon code :-)

Vous retrouverez ici tous mes articles explicatifs de mes concepts, mes résultats d'analyses techniques m'ayant permi d'aboutir à un fonctionnement de mes applicatifs très fonctionnel

Rapport sondage marche

Voici le rapport statistique du sondage (auquel vous pouvez toujours répondre) que j'ai lancé sur le sujet

Mon GitHub

Voyant que l'intégration du flux RSS ralentissait tout mon site, voisi le simple lien de mon flux RSS : Mon GitHub