Bonjour, Petite contribution: Objectif : - Se connecter a un site d'échange (ici crypto-monnaie) - S'authentifier via la méthode de signature "standard HMAC-SHA512" - Accéder au soldes d'un compte via les paramètres "Clé API" et "Clé API secrète" Voila ce que propose Bittrex pour s'authentifier et récupérer le solde de ses comptes sur leurs API : Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! Code (Text): $apikey='xxx'; $apisecret='xxx'; $nonce=time(); $uri='https://bittrex.com/api/v1.1/account/getbalances?apikey='.$apikey.'&nonce='.$nonce; $sign=hash_hmac('sha512',$uri,$apisecret); $ch = curl_init($uri); curl_setopt($ch, CURLOPT_HTTPHEADER, array('apisign:'.$sign)); $execResult = curl_exec($ch); $obj = json_decode($execResult); apikey : Clé de l'API disponible sur votre compte apisecret : Clé secrète de l'API disponible sur votre compte (A crypter !) Voici le format que j'utilise donc en windev : //Init du projet Code (Windev): CONSTANTE CST_API = "https://bittrex.com/api/v1.1" CST_GET_BALANCES = "/account/getbalances?apikey=" FIN //Récupération Informations Compte Code (Windev): apikey est une chaîne="xxx" apisecret est une chaîne="xxx" nonce est une Durée = Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!("19700101000000",Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(),14)),duréeCentième)/100 uri est chaîne uri = CST_API + CST_GET_BALANCES +apikey+"&nonce="+nonce sign est une chaîne = Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(HA_HMAC_SHA_512,Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(uri),Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(apisecret))),[" ",RC],"")) ch est un httpRequête ch..URL = uri ch..Entête["apisign"] = sign reponse est un httpRéponse = HTTPEnvoie(ch) SI reponse.CodeEtat = 200 ALORS vObj est un Variant = Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(reponse.Contenu) ParcoursMembresVariant(vObj) FIN //Traitement Résultat Variant (affichage Trace) Code (Windev): PROCEDURE ParcoursMembresVariant(_ObjetOuTableau) SELON _ObjetOuTableau..Type CAS wlVariantObjet : POUR TOUT _Membre DE _ObjetOuTableau..Membre SI _Membre..Membre..Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! = 0 ALORS SELON _Membre..Type CAS wlVariantTableau : Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!("--", Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(dbgPile), RC)) +... "Le membre " + _Membre..Nom +... " contient un tableau.....") ParcoursMembresVariant(_Membre) AUTRES CAS : Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!("--", Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(dbgPile), RC)) +... "Le membre " + _Membre..Nom + " a la valeur " +... _Membre..Valeur) FIN SINON Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!("--", Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(dbgPile), RC)) +... "Le membre " + _Membre..Nom + " a " +... _Membre..Membre..Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! + " autres membres.....") ParcoursMembresVariant(_Membre) FIN FIN CAS wlVariantTableau : Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!("--", Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(dbgPile), RC)) +... "Tableau de "+_ObjetOuTableau..Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!+" éléments.....") POUR TOUT ELEMENT UnElement, Compteur DE _ObjetOuTableau Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!("--", Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(dbgPile), RC)) +... "Exploration de l'élément "+Compteur+"/"+_ObjetOuTableau..Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!) ParcoursMembresVariant(UnElement) FIN AUTRES CAS : Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!("A gérer ("+_ObjetOuTableau..Type+") !?"+_ObjetOuTableau) FIN Il ne reste plus qu'a gérer l'affichage dans la fonction "ParcoursMembresVariant" ou une autre du même type. Voila j’espère que cela aidera quelqu'un.