Différences entre versions de « Comment utiliser l'API Cloud Privé d’Ikoula »

De Ikoula Wiki
Jump to navigation Jump to search
 
(17 versions intermédiaires par 4 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
 +
<span data-link_translate_fr_title="Comment utiliser l'API Cloud Privé d’Ikoula"  data-link_translate_fr_url="Comment utiliser l'API Cloud Privé d’Ikoula"></span>[[:fr:Comment utiliser l'API Cloud Privé d’Ikoula]][[fr:Comment utiliser l'API Cloud Privé d’Ikoula]]
 +
<span data-link_translate_he_title="כיצד להשתמש ב- API פרטיים של ענן Ikoula"  data-link_translate_he_url="%D7%9B%D7%99%D7%A6%D7%93+%D7%9C%D7%94%D7%A9%D7%AA%D7%9E%D7%A9+%D7%91-+API+%D7%A4%D7%A8%D7%98%D7%99%D7%99%D7%9D+%D7%A9%D7%9C+%D7%A2%D7%A0%D7%9F+Ikoula"></span>[[:he:כיצד להשתמש ב- API פרטיים של ענן Ikoula]][[he:כיצד להשתמש ב- API פרטיים של ענן Ikoula]]
 +
<span data-link_translate_ro_title="Cum să utilizaţi nor Ikoula privat API"  data-link_translate_ro_url="Cum+s%C4%83+utiliza%C5%A3i+nor+Ikoula+privat+API"></span>[[:ro:Cum să utilizaţi nor Ikoula privat API]][[ro:Cum să utilizaţi nor Ikoula privat API]]
 +
<span data-link_translate_ru_title="Как использовать API частных облачных Ikoula"  data-link_translate_ru_url="%D0%9A%D0%B0%D0%BA+%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C+API+%D1%87%D0%B0%D1%81%D1%82%D0%BD%D1%8B%D1%85+%D0%BE%D0%B1%D0%BB%D0%B0%D1%87%D0%BD%D1%8B%D1%85+Ikoula"></span>[[:ru:Как использовать API частных облачных Ikoula]][[ru:Как использовать API частных облачных Ikoula]]
 +
<span data-link_translate_pl_title="Jak korzystać z interfejsu API prywatne Cloud Ikoula"  data-link_translate_pl_url="Jak+korzysta%C4%87+z+interfejsu+API+prywatne+Cloud+Ikoula"></span>[[:pl:Jak korzystać z interfejsu API prywatne Cloud Ikoula]][[pl:Jak korzystać z interfejsu API prywatne Cloud Ikoula]]
 +
<span data-link_translate_ja_title="クラウド Ikoula 専用 API を使用する方法"  data-link_translate_ja_url="%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89+Ikoula+%E5%B0%82%E7%94%A8+API+%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95"></span>[[:ja:クラウド Ikoula 専用 API を使用する方法]][[ja:クラウド Ikoula 専用 API を使用する方法]]
 +
<span data-link_translate_ar_title="كيفية استخدام API الخاصة "عكلة سحابة""  data-link_translate_ar_url="%D9%83%D9%8A%D9%81%D9%8A%D8%A9+%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85+API+%D8%A7%D9%84%D8%AE%D8%A7%D8%B5%D8%A9+%22%D8%B9%D9%83%D9%84%D8%A9+%D8%B3%D8%AD%D8%A7%D8%A8%D8%A9%22"></span>[[:ar:كيفية استخدام API الخاصة "عكلة سحابة"]][[ar:كيفية استخدام API الخاصة "عكلة سحابة"]]
 +
<span data-link_translate_zh_title="如何使用云 Ikoula 私有 API"  data-link_translate_zh_url="%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E4%BA%91+Ikoula+%E7%A7%81%E6%9C%89+API"></span>[[:zh:如何使用云 Ikoula 私有 API]][[zh:如何使用云 Ikoula 私有 API]]
 +
<span data-link_translate_de_title="Wie Sie die private Cloud Ikoula-API verwenden"  data-link_translate_de_url="Wie+Sie+die+private+Cloud+Ikoula-API+verwenden"></span>[[:de:Wie Sie die private Cloud Ikoula-API verwenden]][[de:Wie Sie die private Cloud Ikoula-API verwenden]]
 +
<span data-link_translate_nl_title="Hoe de wolk Ikoula privé API kunt gebruiken"  data-link_translate_nl_url="Hoe+de+wolk+Ikoula+priv%C3%A9+API+kunt+gebruiken"></span>[[:nl:Hoe de wolk Ikoula privé API kunt gebruiken]][[nl:Hoe de wolk Ikoula privé API kunt gebruiken]]
 
<span data-link_translate_it_title="Come utilizzare l'API privata Cloud Ikoula"  data-link_translate_it_url="Come+utilizzare+l%27API+privata+Cloud+Ikoula"></span>[[:it:Come utilizzare l'API privata Cloud Ikoula]][[it:Come utilizzare l'API privata Cloud Ikoula]]
 
<span data-link_translate_it_title="Come utilizzare l'API privata Cloud Ikoula"  data-link_translate_it_url="Come+utilizzare+l%27API+privata+Cloud+Ikoula"></span>[[:it:Come utilizzare l'API privata Cloud Ikoula]][[it:Come utilizzare l'API privata Cloud Ikoula]]
 
<span data-link_translate_pt_title="Como usar a API de Ikoula de nuvem privada"  data-link_translate_pt_url="Como+usar+a+API+de+Ikoula+de+nuvem+privada"></span>[[:pt:Como usar a API de Ikoula de nuvem privada]][[pt:Como usar a API de Ikoula de nuvem privada]]
 
<span data-link_translate_pt_title="Como usar a API de Ikoula de nuvem privada"  data-link_translate_pt_url="Como+usar+a+API+de+Ikoula+de+nuvem+privada"></span>[[:pt:Como usar a API de Ikoula de nuvem privada]][[pt:Como usar a API de Ikoula de nuvem privada]]
Ligne 4 : Ligne 14 :
 
<span data-link_translate_en_title="How to use the Cloud Ikoula private API"  data-link_translate_en_url="How+to+use+the+Cloud+Ikoula+private+API"></span>[[:en:How to use the Cloud Ikoula private API]][[en:How to use the Cloud Ikoula private API]]
 
<span data-link_translate_en_title="How to use the Cloud Ikoula private API"  data-link_translate_en_url="How+to+use+the+Cloud+Ikoula+private+API"></span>[[:en:How to use the Cloud Ikoula private API]][[en:How to use the Cloud Ikoula private API]]
  
 +
 +
{{#seo:
 +
|title=Comment utiliser l'API Cloud Privé d'Ikoula
 +
|title_mode=append
 +
|keywords=these,are,your,keywords
 +
|description=Découvrez dans cet article comment utiliser l'API Cloud Privé de Ikoula
 +
|image=Uploaded_file.png
 +
|image_alt=Wiki Logo
 +
}}
  
 
<!--T:1-->
 
<!--T:1-->
Lors de votre inscription au service b. <span class="notranslate">Cloud</span> Privé d’Ikoula , vous avez reçu un mail avec une clé d'API et une clé secrète.
+
Lors de votre inscription au service {{cloud privé}} d’{{iKoula}}, vous avez reçu un mail avec une clé d'API et une clé secrète.
Ces informations vous permettrons de vous connecter à l'API b. <span class="notranslate">Cloud</span> Privé d’Ikoula .
+
Ces informations vous permettrons de vous connecter à l'API {{cloud privé}} d’{{iKoula}}.
  
 
<!--T:2-->
 
<!--T:2-->
URL API : https://cloudstack.ikoula.com/client/api
+
URL API : https://{{Template:Cloud}}stack.ikoula.com/client/api
  
 
<!--T:3-->
 
<!--T:3-->
 
Les spécifications de l'API administrateur de domaine et utilisateur sont respectivement :
 
Les spécifications de l'API administrateur de domaine et utilisateur sont respectivement :
 
 
<!--T:4-->
 
<!--T:4-->
Admin : http://cloudstack.apache.org/docs/api/apidocs-4.2/TOC_Domain_Admin.html
+
* Admin : http://{{Template:Cloud}}stack.apache.org/docs/api/apidocs-4.2/TOC_Domain_Admin.html
User : http://cloudstack.apache.org/docs/api/apidocs-4.2/TOC_User.html
+
* User : http://{{Template:Cloud}}stack.apache.org/docs/api/apidocs-4.2/TOC_User.html
  
 
<!--T:5-->
 
<!--T:5-->
 
Pour l'utililsation de l'API, il faut :
 
Pour l'utililsation de l'API, il faut :
 
 
<!--T:6-->
 
<!--T:6-->
 
* Votre clé d'API
 
* Votre clé d'API
 
* Votre clé secréte
 
* Votre clé secréte
* Envoyer les requêtes sur "https://cloudstack.ikoula.com/client/api" avec une méthode du protocole HTTP
+
* Envoyer les requêtes sur "https://{{Template:Cloud}}stack.ikoula.com/client/api" avec une méthode du protocole HTTP
 
* Traiter les retours XML ou JSON (au choix)
 
* Traiter les retours XML ou JSON (au choix)
  
 
<!--T:7-->
 
<!--T:7-->
 
Exemple de requete a l'API utilisant la methode GET :
 
Exemple de requete a l'API utilisant la methode GET :
 
 
<!--T:8-->
 
<!--T:8-->
https://cloudstack.ikoula.com/client/api/
+
<syntaxhighlight lang="php" line>
#        ?command=deployVirtualMachine
+
https://cloudstack.ikoula.com/client/api/
#        &serviceOfferingId=1
+
        ?command=deployVirtualMachine
#        &diskOfferingId=1
+
        &serviceOfferingId=1
#        &templateId=2
+
        &diskOfferingId=1
#        &zoneId=4
+
        &templateId=2
#        &apiKey=miVr6X7u6bN_EJTVwZ0nUkkJbPmY3y2bciKwFQ
+
        &zoneId=4
#        &signature=Lxx1DM40AjcXU%2FcaiK8RAP0O1hU%3D
+
        &apiKey=miVr6X7u6bN_EJTVwZ0nUkkJbPmY3y2bciKwFQ
 
+
        &signature=Lxx1DM40AjcXU%2FcaiK8RAP0O1hU%3D
 +
</syntaxhighlight>
 
<!--T:9-->
 
<!--T:9-->
La ligne 1 correspond au point de d’entrée (le lien vers l'API b. <span class="notranslate">Cloud</span> Privé d’Ikoula )
+
* La ligne 1 correspond au point de d’entrée (le lien vers l'API {{cloud privé}} d’{{iKoula}})
La ligne 2 correspond a la commande a envoyer, ici on veut crée une nouvelle VM
+
* La ligne 2 correspond a la commande a envoyer, ici on veut crée une nouvelle VM
La ligne 3-6 correspondent aux différents paramètres de la commande.
+
* La ligne 3-6 correspondent aux différents paramètres de la commande. Vous pouvez rajouter le champs  <span class="notranslate">"response"</span> qui définie le format de retour avec le paramètre (XML/JSON)
Vous pouvez rajouter le champs  <span class="notranslate">"response"</span> qui définie le format de retour avec le paramètre (XML/JSON)
+
* La ligne 7 contient votre clé d'API (Ici est une clé d'exemple invalide, a remplacer par la votre)
La ligne 7 contient votre clé d'API (Ici est une clé d'exemple invalide, a remplacer par la votre)
+
* La ligne 8 est la signature générée à partir de la commande et de votre clé secrète
La ligne 8 est la signature générée à partir de la commande et de votre clé secrète
 
  
 
<!--T:10-->
 
<!--T:10-->
Comment générer la signature ?
+
==Comment générer la signature==
  
 
<!--T:11-->
 
<!--T:11-->
Il faut s'assurer que tout les espaces sont remplacés par "%20" au lieu de "+"
+
Il faut s'assurer que tout les espaces sont remplacés par "'''%20'''" au lieu de "'''+'''"
  
 
<!--T:12-->
 
<!--T:12-->
 
Il faut trier par ordre alphabétique les champs envoyés. Attention à mettre les paramètres les uns après les autres séparés par un & (et commercial)et la chaîne de paramètres en minuscule.
 
Il faut trier par ordre alphabétique les champs envoyés. Attention à mettre les paramètres les uns après les autres séparés par un & (et commercial)et la chaîne de paramètres en minuscule.
 +
  
 
<!--T:13-->
 
<!--T:13-->
Exemple de string de paramètres :
+
Exemple de string de paramètres : <syntaxhighlight lang="php" enclose="none">apikey=mivr6x7u6bn_ejtvwz0nukkjbpmy3y2bcikwfq&command=listvirtualmachines&domainId=5</syntaxhighlight>
apikey=mivr6x7u6bn_ejtvwz0nukkjbpmy3y2bcikwfq&command=listvirtualmachines&domainId=5
 
 
   
 
   
 +
 
Enfin appliquer un hmac_SHA1 sur la chaîne générée avec comme clé de hashage votre clé secréte. Pour envoyer la requête il vous suffit de rajouter le champs signature avec la signature générée
 
Enfin appliquer un hmac_SHA1 sur la chaîne générée avec comme clé de hashage votre clé secréte. Pour envoyer la requête il vous suffit de rajouter le champs signature avec la signature générée
  
 
<!--T:14-->
 
<!--T:14-->
 
$args est un tableau associatif de tous les arguments
 
$args est un tableau associatif de tous les arguments
<pre>
+
<syntaxhighlight lang="php" line>
 +
<?
 
// classement par clef
 
// classement par clef
 
ksort($args);
 
ksort($args);
 
$query = http_build_query($args);
 
$query = http_build_query($args);
// sécurité pour l'encodage des espaces
+
// {{Template:Sécurité}} pour l'encodage des espaces
 
$query = str_replace("+", "%20", $query);
 
$query = str_replace("+", "%20", $query);
 
// minuscule
 
// minuscule
Ligne 79 : Ligne 97 :
 
$signature = base64_encode($hash);
 
$signature = base64_encode($hash);
 
?>
 
?>
</pre>
+
</syntaxhighlight>
 +
 
 
[[Category:cloud public]]
 
[[Category:cloud public]]
[[Category:API cloudstack]]
+
[[Category:cloud privé]]
[[Category:cloudstack]]
+
[[Catégorie:API]]
 +
[[Catégorie:Cloud]]
 
<br />
 
<br />
 
<comments />
 
<comments />

Version actuelle datée du 26 février 2021 à 12:46

fr:Comment utiliser l'API Cloud Privé d’Ikoula he:כיצד להשתמש ב- API פרטיים של ענן Ikoula ro:Cum să utilizaţi nor Ikoula privat API ru:Как использовать API частных облачных Ikoula pl:Jak korzystać z interfejsu API prywatne Cloud Ikoula ja:クラウド Ikoula 専用 API を使用する方法 ar:كيفية استخدام API الخاصة "عكلة سحابة" zh:如何使用云 Ikoula 私有 API de:Wie Sie die private Cloud Ikoula-API verwenden nl:Hoe de wolk Ikoula privé API kunt gebruiken it:Come utilizzare l'API privata Cloud Ikoula pt:Como usar a API de Ikoula de nuvem privada es:Cómo utilizar la API privada de nube Ikoula en:How to use the Cloud Ikoula private API


Lors de votre inscription au service cloud privé d’ikoula, vous avez reçu un mail avec une clé d'API et une clé secrète. Ces informations vous permettrons de vous connecter à l'API cloud privé d’ikoula.

URL API : https://cloudstack.ikoula.com/client/api

Les spécifications de l'API administrateur de domaine et utilisateur sont respectivement :

  • Admin : http://cloudstack.apache.org/docs/api/apidocs-4.2/TOC_Domain_Admin.html
  • User : http://cloudstack.apache.org/docs/api/apidocs-4.2/TOC_User.html

Pour l'utililsation de l'API, il faut :

  • Votre clé d'API
  • Votre clé secréte
  • Envoyer les requêtes sur "https://cloudstack.ikoula.com/client/api" avec une méthode du protocole HTTP
  • Traiter les retours XML ou JSON (au choix)

Exemple de requete a l'API utilisant la methode GET :

1https://cloudstack.ikoula.com/client/api/
2        ?command=deployVirtualMachine
3        &serviceOfferingId=1
4        &diskOfferingId=1
5        &templateId=2
6        &zoneId=4
7        &apiKey=miVr6X7u6bN_EJTVwZ0nUkkJbPmY3y2bciKwFQ
8        &signature=Lxx1DM40AjcXU%2FcaiK8RAP0O1hU%3D
  • La ligne 1 correspond au point de d’entrée (le lien vers l'API cloud privé d’ikoula)
  • La ligne 2 correspond a la commande a envoyer, ici on veut crée une nouvelle VM
  • La ligne 3-6 correspondent aux différents paramètres de la commande. Vous pouvez rajouter le champs "response" qui définie le format de retour avec le paramètre (XML/JSON)
  • La ligne 7 contient votre clé d'API (Ici est une clé d'exemple invalide, a remplacer par la votre)
  • La ligne 8 est la signature générée à partir de la commande et de votre clé secrète

Comment générer la signature

Il faut s'assurer que tout les espaces sont remplacés par "%20" au lieu de "+"

Il faut trier par ordre alphabétique les champs envoyés. Attention à mettre les paramètres les uns après les autres séparés par un & (et commercial)et la chaîne de paramètres en minuscule.


Exemple de string de paramètres : apikey=mivr6x7u6bn_ejtvwz0nukkjbpmy3y2bcikwfq&command=listvirtualmachines&domainId=5


Enfin appliquer un hmac_SHA1 sur la chaîne générée avec comme clé de hashage votre clé secréte. Pour envoyer la requête il vous suffit de rajouter le champs signature avec la signature générée

$args est un tableau associatif de tous les arguments

 1<?
 2// classement par clef
 3ksort($args);
 4$query = http_build_query($args);
 5// {{Template:Sécurité}} pour l'encodage des espaces
 6$query = str_replace("+", "%20", $query);
 7// minuscule
 8strtolower($query)
 9// calcul du hash
10$hash = hash_hmac("SHA1",  $query, $secretKey, true);
11// encodage en base 64
12$signature = base64_encode($hash);
13?>



Vous n'êtes pas autorisé à publier de commentaire.