La problématique

Cette semaine, nous allons regarder une service web qui vous permet de connaitre en temps réel, enfin au moment du lancement de la requête http, le taux d'une monnaie. Le code effectué ici n'est pas actualisé en temps réel, mais je ne doute pas que vous avez les compétences AJAX afind e mettre en place cette façon de faire. Bon, il faiut quand même bien dire que le service interrogé mets en contrepartie des monnaies traditionnelles face aux nouvelles monnaies numériques. En effet, nous allons regarder le traditionnel Bitcoin, mais aussi l'Ethereum, pour ne citer que les deux crypto-monnaies les plus connues.

Le service interrogé : worldcoindex

Les API de WorldcoinIndex permettent d'interroger un webservice qui va vous renvoyer des informamtions monétaire sur les cryptomonnaies. Toujours pareil, nous n'allonspas voir toutes les fonctionnalités possibles, mais voyons ce que l'on peut faire. L'ensemble de la documentation est disponible à l'adresse :https://www.worldcoinindex.com/apiservice

Les méthodes utilisables sont :

  • Ticker (telescripteur) : pemet de convertir une monnaie. 3 paramètres sont à passer dans l'url
    • key : c'est votre clef API que vous aurez demandé au préalable sur le site
    • label : nom, sigle de la monnaie d'origine et de destination. Utilise pour être réexploité ultérieurement
    • fiat=btc : sigle de la monnaie dans laquelle votre monnaie doit être retranscrite.

Voici un exemple fonctionnel : où je convertis une valeur en euros en cryptomonnaie

Il est aussi possible de sortir l'ensemble des transactions effectuées. Je vous ai créé un code exemple ci-dessous, voici le code PHP correspondant :

Code de l'exemple

<?php

setlocale (LC_TIME, 'fr_FR.utf8','fra');

function decimalNotation($num){
$parts = explode('E', $num);
if(count($parts) != 2){
return $num;
}
$exp = abs(end($parts)) + 3;
$decimal = number_format($num, $exp);
$decimal = rtrim($decimal, '0');
return rtrim($decimal, '.');
}
function json2array($x){
$t= file_get_contents($x);
return(json_decode($t, true));
}

$a = array();
$t=array();

echo "<pre>";
$a = json2array("https://www.worldcoinindex.com/apiservice/v2getmarkets?key=3GntouhJLf4BuwqgAMx6whxMsO4ywg&fiat=btc");
$t= $a["Markets"][0];
$c = count($a["Markets"][0]);

for ($i=0;$i<=count($a["Markets"][0])-1;$i++)
{
echo $i.". ".$t[$i]["Name"]." (".$t[$i]["Label"].") en date du ".date('l jS \of F Y h:i:s A',$t[$i]["Timestamp"])." vaut ".(float)$t[$i]["Price"]." bitcoin<br>";
}
print_r($t);
//echo "Label : ". $a["Markets"][0][0]["Label"];
echo "</pre>";
?>

Le résultat