<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://fr-wiki.ikoula.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jquiaios31670</id>
	<title>Ikoula Wiki - Contributions de l’utilisateur [fr]</title>
	<link rel="self" type="application/atom+xml" href="https://fr-wiki.ikoula.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jquiaios31670"/>
	<link rel="alternate" type="text/html" href="https://fr-wiki.ikoula.com/fr/Sp%C3%A9cial:Contributions/Jquiaios31670"/>
	<updated>2026-04-11T17:29:02Z</updated>
	<subtitle>Contributions de l’utilisateur</subtitle>
	<generator>MediaWiki 1.35.3</generator>
	<entry>
		<id>https://fr-wiki.ikoula.com/index.php?title=Authentification_et_s%C3%A9curit%C3%A9&amp;diff=19624</id>
		<title>Authentification et sécurité</title>
		<link rel="alternate" type="text/html" href="https://fr-wiki.ikoula.com/index.php?title=Authentification_et_s%C3%A9curit%C3%A9&amp;diff=19624"/>
		<updated>2015-12-03T17:05:38Z</updated>

		<summary type="html">&lt;p&gt;Jquiaios31670 : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span data-link_translate_he_title=&amp;quot;אבטחה ואימות&amp;quot;  data-link_translate_he_url=&amp;quot;%D7%90%D7%91%D7%98%D7%97%D7%94+%D7%95%D7%90%D7%99%D7%9E%D7%95%D7%AA&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;[[:he:אבטחה ואימות]][[he:אבטחה ואימות]]&lt;br /&gt;
&amp;lt;span data-link_translate_ro_title=&amp;quot;Autentificare și securitate&amp;quot;  data-link_translate_ro_url=&amp;quot;Autentificare+%C8%99i+securitate&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;[[:ro:Autentificare și securitate]][[ro:Autentificare și securitate]]&lt;br /&gt;
&amp;lt;span data-link_translate_ru_title=&amp;quot;Проверка подлинности и безопасность&amp;quot;  data-link_translate_ru_url=&amp;quot;%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0+%D0%BF%D0%BE%D0%B4%D0%BB%D0%B8%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B8+%D0%B8+%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;[[:ru:Проверка подлинности и безопасность]][[ru:Проверка подлинности и безопасность]]&lt;br /&gt;
&amp;lt;span data-link_translate_pl_title=&amp;quot;Uwierzytelniania i zabezpieczeń&amp;quot;  data-link_translate_pl_url=&amp;quot;Uwierzytelniania+i+zabezpiecze%C5%84&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;[[:pl:Uwierzytelniania i zabezpieczeń]][[pl:Uwierzytelniania i zabezpieczeń]]&lt;br /&gt;
&amp;lt;span data-link_translate_ja_title=&amp;quot;認証とセキュリティ&amp;quot;  data-link_translate_ja_url=&amp;quot;%E8%AA%8D%E8%A8%BC%E3%81%A8%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;[[:ja:認証とセキュリティ]][[ja:認証とセキュリティ]]&lt;br /&gt;
&amp;lt;span data-link_translate_ar_title=&amp;quot;الأمان والمصادقة&amp;quot;  data-link_translate_ar_url=&amp;quot;%D8%A7%D9%84%D8%A3%D9%85%D8%A7%D9%86+%D9%88%D8%A7%D9%84%D9%85%D8%B5%D8%A7%D8%AF%D9%82%D8%A9&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;[[:ar:الأمان والمصادقة]][[ar:الأمان والمصادقة]]&lt;br /&gt;
&amp;lt;span data-link_translate_zh_title=&amp;quot;身份验证和安全&amp;quot;  data-link_translate_zh_url=&amp;quot;%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%E5%92%8C%E5%AE%89%E5%85%A8&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;[[:zh:身份验证和安全]][[zh:身份验证和安全]]&lt;br /&gt;
&amp;lt;span data-link_translate_de_title=&amp;quot;Authentifizierung und Sicherheit&amp;quot;  data-link_translate_de_url=&amp;quot;Authentifizierung+und+Sicherheit&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;[[:de:Authentifizierung und Sicherheit]][[de:Authentifizierung und Sicherheit]]&lt;br /&gt;
&amp;lt;span data-link_translate_nl_title=&amp;quot;Verificatie en beveiliging&amp;quot;  data-link_translate_nl_url=&amp;quot;Verificatie+en+beveiliging&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;[[:nl:Verificatie en beveiliging]][[nl:Verificatie en beveiliging]]&lt;br /&gt;
&amp;lt;span data-link_translate_it_title=&amp;quot;Autenticazione e protezione&amp;quot;  data-link_translate_it_url=&amp;quot;Autenticazione+e+protezione&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;[[:it:Autenticazione e protezione]][[it:Autenticazione e protezione]]&lt;br /&gt;
&amp;lt;span data-link_translate_pt_title=&amp;quot;Autenticação e segurança&amp;quot;  data-link_translate_pt_url=&amp;quot;Autentica%C3%A7%C3%A3o+e+seguran%C3%A7a&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;[[:pt:Autenticação e segurança]][[pt:Autenticação e segurança]]&lt;br /&gt;
&amp;lt;span data-link_translate_es_title=&amp;quot;Autenticación y seguridad&amp;quot;  data-link_translate_es_url=&amp;quot;Autenticaci%C3%B3n+y+seguridad&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;[[:es:Autenticación y seguridad]][[es:Autenticación y seguridad]]&lt;br /&gt;
&amp;lt;span data-link_translate_en_title=&amp;quot;Authentication and security&amp;quot;  data-link_translate_en_url=&amp;quot;Authentication+and+security&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;[[:en:Authentication and security]][[en:Authentication and security]]&lt;br /&gt;
&amp;lt;!-- Début de l'article. Placez votre texte ci-après et n'hésitez pas à personnaliser les chapitres selon votre besoin --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction== &amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
Comment s'authentifier à l'API Ikoula et les politiques de {{Template:Sécurité}} ?&lt;br /&gt;
&lt;br /&gt;
==Explications== &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
Pour des raisons évidentes de {{Template:Sécurité}}, l'API Ikoula exige une authentification. Celle-ci est basée sur un identifiant, un mot de passe et une signature :&amp;lt;br /&amp;gt;&lt;br /&gt;
* L'identifiant est l'adresse mail utilisée pour la connexion à votre compte Ikoula ou à l'extranet. Le nom du paramètre pour le transmettre est toujours  &amp;lt;span class=&amp;quot;notranslate&amp;quot;&amp;gt;'''login'''&amp;lt;/span&amp;gt;.&lt;br /&gt;
* Le mot de passe quant à lui peut être, soit fourni en texte clair (paramètre  &amp;lt;span class=&amp;quot;notranslate&amp;quot;&amp;gt;'''password'''&amp;lt;/span&amp;gt;), soit chiffré via une fonction spécifique utilisant une clé publique fournie par Ikoula (paramètre  &amp;lt;span class=&amp;quot;notranslate&amp;quot;&amp;gt;'''crypted_password'''&amp;lt;/span&amp;gt;) et base64_encode&lt;br /&gt;
* La signature est générée en fonction des paramètres fournis lors de l'appel à l'API (voir la procédure de génération de la signature ==&amp;gt; [[Génération_de_la_signature|Génération de la signature]])&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Ces paramètres doivent toujours être passés en GET à l'API !'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;ATTENTION:&amp;lt;br /&amp;gt;&lt;br /&gt;
Le passage du mot de passe en texte clair est fourni pour faciliter la prise en main de l'API et fait office de debug. Pour vos tests de l'API, vous pouvez par exemple utiliser un utilisateur temporaire dédié à ces tests et vous authentifier avec son mot de passe en clair (Voir le WIKI ci-après pour la création de sous-utilisateur: https://support.ikoula.com/index-1-2-2835.html).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
L'utilisation du chiffrement de mot de passe avec la clé publique Ikoula est indispensable dans tout contexte de production ou non-court terme.&amp;lt;br /&amp;gt;&lt;br /&gt;
Si les appels API sont voués à être utilisés via un script ou un programme, nous vous recommandons la création d'un utilisateur dédié à cet effet plutôt que d'utiliser votre utilisateur extranet classique.&amp;lt;br /&amp;gt;&lt;br /&gt;
Deux possibilités s'offrent à vous :&amp;lt;br /&amp;gt;&lt;br /&gt;
* Contacter notre support pour la création d'un utilisateur extranet&lt;br /&gt;
* Créer un sous-utilisateur directement depuis la page d'accueil de votre compte extranet (Voir le WIKI ci-après pour la création de sous-utilisateur: https://support.ikoula.com/index-1-2-2835.html).&lt;br /&gt;
Attention à ne pas oublier '''de lui mettre les droits sur les prestations souhaitées'''.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
;La clé publique de chiffrement du mot de passe est disponible à l'adresse suivante:&lt;br /&gt;
: https://api.ikoula.com/downloads/Ikoula.API.RSAKeyPub.pem&lt;br /&gt;
&lt;br /&gt;
==Exemples== &amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
Pour cet exemple, le login sera &amp;quot;ikoulasupport&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour crypter le mot de passe, voici un exemple de fonction utilisant la clé publique {{Template:IKoula}} :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// Chemin local vers la clef publique téléchargée à http://api.ikoula.com/downloads/Ikoula.API.RSAKeyPub.pem&lt;br /&gt;
define('API_PUB_KEY_PATH', dirname(__FILE__) . '/Ikoula.API.RSAKeyPub.pem');&lt;br /&gt;
 &lt;br /&gt;
// Fonction de cryptage du mot de passe via la clef publique Ikoula&lt;br /&gt;
function opensslEncryptPublic($password)&lt;br /&gt;
{&lt;br /&gt;
        // Vérification de la présence de la clef publique&lt;br /&gt;
        if(file_exists(API_PUB_KEY_PATH))&lt;br /&gt;
        {&lt;br /&gt;
                if(!empty($password))&lt;br /&gt;
                {&lt;br /&gt;
                        // on récupére la clef public&lt;br /&gt;
                        $publicKey = openssl_pkey_get_public('file://'.realpath(API_PUB_KEY_PATH));&lt;br /&gt;
 &lt;br /&gt;
                        // Si il n'y a pas eu d'erreur lors de la récupération de la clef publique on continue&lt;br /&gt;
                        if ($publicKey !== FALSE)      &lt;br /&gt;
                        {&lt;br /&gt;
                                // Si chiffrement clef publique OK&lt;br /&gt;
                                if(openssl_public_encrypt($password, $crypted, $publicKey) === TRUE)   &lt;br /&gt;
                                {&lt;br /&gt;
                                        // Renvoie du passe crypté&lt;br /&gt;
                                        return $crypted;       &lt;br /&gt;
                                }&lt;br /&gt;
                                else&lt;br /&gt;
                                {&lt;br /&gt;
                                        return NULL;&lt;br /&gt;
                                }&lt;br /&gt;
                        }&lt;br /&gt;
                        else&lt;br /&gt;
                                return NULL;&lt;br /&gt;
                }&lt;br /&gt;
                else&lt;br /&gt;
                        return NULL;&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
                echo(&amp;quot;Erreur la clée public n'est pas présente.\n&amp;quot;);&lt;br /&gt;
                return NULL;&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Utilisation de la fonction de cryptage&lt;br /&gt;
$password_crypt = opensslEncryptPublic(&amp;quot;Mot de passe non crypté&amp;quot;);&lt;br /&gt;
if($password_crypt != NULL)&lt;br /&gt;
        echo &amp;quot;OK Mot de passe crypté: &amp;quot;.$password_crypt;&lt;br /&gt;
else&lt;br /&gt;
        echo &amp;quot;Erreur lors du cryptage du mot de passe.&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
// ==&amp;gt; $password_crypt contient donc le mot de passe crypté&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusion== &amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
Une fois le mot de passe crypté et la signature cryptée, on peut donc faire l'appel API avec comme paramètres (si on suit l'exemple ci-dessus) :&amp;lt;br /&amp;gt;&lt;br /&gt;
* login = ikoulasupport&lt;br /&gt;
* crypted_password = base64_encode($password_crypt)&lt;br /&gt;
* signature = signature générée (voir la procédure de génération de la signature ==&amp;gt; [[Génération_de_la_signature|Génération de la signature]])&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''NB : N'oubliez pas d'url_encoder chaque paramètre passé !'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&amp;lt;!-- Fin de l'article --&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Cet article vous a semblé utile ? &amp;lt;vote /&amp;gt;&lt;br /&gt;
&amp;lt;!-- Placez ici la catégorie à laquelle se rapporte votre article. Ex: [[Categorie:Contribuer]] --&amp;gt;&lt;br /&gt;
[[Catégorie:API]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&amp;lt;!-- Gestion SEO. Indiquez les informations manquantes --&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;comments /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jquiaios31670</name></author>
	</entry>
	<entry>
		<id>https://fr-wiki.ikoula.com/index.php?title=Cat%C3%A9gorie:API&amp;diff=1058</id>
		<title>Catégorie:API</title>
		<link rel="alternate" type="text/html" href="https://fr-wiki.ikoula.com/index.php?title=Cat%C3%A9gorie:API&amp;diff=1058"/>
		<updated>2015-07-09T08:46:23Z</updated>

		<summary type="html">&lt;p&gt;Jquiaios31670 : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;API (acronyme pour Application Programming Interface) est un outil destiné aux développeurs. Elle permet une interaction technique avec les produits Ikoula (création de scripts, automates, GUI personalisée...)&lt;br /&gt;
Actuellement en version bêta, tous les produits Ikoula ne sont pas encore gérés par l'API.&lt;/div&gt;</summary>
		<author><name>Jquiaios31670</name></author>
	</entry>
	<entry>
		<id>https://fr-wiki.ikoula.com/index.php?title=Cat%C3%A9gorie:API&amp;diff=1057</id>
		<title>Catégorie:API</title>
		<link rel="alternate" type="text/html" href="https://fr-wiki.ikoula.com/index.php?title=Cat%C3%A9gorie:API&amp;diff=1057"/>
		<updated>2015-07-08T15:22:15Z</updated>

		<summary type="html">&lt;p&gt;Jquiaios31670 : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;API (acronyme pour Application Programming Interface) est un outil destiné aux développeurs. Elle permet une interaction technique avec les produits {{Ikoula}} (création de scripts, automates, GUI personalisée...)&lt;br /&gt;
Actuellement en version bêta, tous les produits Ikoula ne sont pas encore gérés par l'API.&lt;/div&gt;</summary>
		<author><name>Jquiaios31670</name></author>
	</entry>
	<entry>
		<id>https://fr-wiki.ikoula.com/index.php?title=Exemples_d%27utilisation_de_l%27API&amp;diff=1047</id>
		<title>Exemples d'utilisation de l'API</title>
		<link rel="alternate" type="text/html" href="https://fr-wiki.ikoula.com/index.php?title=Exemples_d%27utilisation_de_l%27API&amp;diff=1047"/>
		<updated>2015-07-03T13:47:57Z</updated>

		<summary type="html">&lt;p&gt;Jquiaios31670 : Page créée avec « &amp;lt;!-- Début de l'article. Placez votre texte ci-après et n'hésitez pas à personnaliser les chapitres selon votre besoin --&amp;gt;  ==Introduction== Comment utiliser l'API à... »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Début de l'article. Placez votre texte ci-après et n'hésitez pas à personnaliser les chapitres selon votre besoin --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
Comment utiliser l'API à travers quelques exemples concrets et fonctionnels.&lt;br /&gt;
&lt;br /&gt;
==Fonctions pour les exemples==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// Chemin local vers la clé publique téléchargée sur http://api.ikoula.com/downloads/Ikoula.API.RSAKeyPub.pem&lt;br /&gt;
define('API_PUB_KEY_PATH', dirname(__FILE__) . '/Ikoula.API.RSAKeyPub.pem');&lt;br /&gt;
&lt;br /&gt;
// Fonction de chiffrement du mot de passe via la clé publique Ikoula&lt;br /&gt;
function opensslEncryptPublic($password)&lt;br /&gt;
{&lt;br /&gt;
	// Vérification de la présence de la clé publique&lt;br /&gt;
	if(file_exists(API_PUB_KEY_PATH))&lt;br /&gt;
	{&lt;br /&gt;
		if(!empty($password))&lt;br /&gt;
		{&lt;br /&gt;
			// on récupère la clé public&lt;br /&gt;
			$publicKey = openssl_pkey_get_public('file://'.realpath(API_PUB_KEY_PATH));&lt;br /&gt;
&lt;br /&gt;
			// S'il n'y as pas eu d'erreurs lors de la récupération de la clé publique, on continue&lt;br /&gt;
			if ($publicKey !== FALSE)      &lt;br /&gt;
			{&lt;br /&gt;
				// Si chiffrement clé publique OK&lt;br /&gt;
				if(openssl_public_encrypt($password, $crypted, $publicKey) === TRUE)   &lt;br /&gt;
				{&lt;br /&gt;
					// Renvoie du mot de passe crypté&lt;br /&gt;
					return $crypted;       &lt;br /&gt;
				}&lt;br /&gt;
				else&lt;br /&gt;
				{&lt;br /&gt;
					return NULL;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			else&lt;br /&gt;
				return NULL;&lt;br /&gt;
		}&lt;br /&gt;
		else&lt;br /&gt;
			return NULL;&lt;br /&gt;
	}&lt;br /&gt;
	else&lt;br /&gt;
	{&lt;br /&gt;
		echo(&amp;quot;Erreur - la clé publique n'est pas présente.\n&amp;quot;);&lt;br /&gt;
		return NULL;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Fontction de création de la signature en fonction des paramètres présents&lt;br /&gt;
function createSignature($params=array())&lt;br /&gt;
{&lt;br /&gt;
    $signature = null;&lt;br /&gt;
&lt;br /&gt;
    // Si il y a au moins un paramètre&lt;br /&gt;
    if (count($params) &amp;gt; 0)&lt;br /&gt;
    {&lt;br /&gt;
        //debug('create signature');&lt;br /&gt;
        //debug($params);&lt;br /&gt;
        &lt;br /&gt;
        // Triage des paramètres dans le sens croissant&lt;br /&gt;
        ksort($params);&lt;br /&gt;
        &lt;br /&gt;
        // Encodage des paramètres&lt;br /&gt;
        $query = http_build_query($params);&lt;br /&gt;
&lt;br /&gt;
        // Encodage des signes &amp;quot;plus &amp;quot;+&amp;quot;&lt;br /&gt;
        $query = str_replace(&amp;quot;+&amp;quot;, &amp;quot;%20&amp;quot;, $query);&lt;br /&gt;
&lt;br /&gt;
        // Transformation de la chaîne de caractères en minuscule&lt;br /&gt;
        $query = strtolower($query);&lt;br /&gt;
&lt;br /&gt;
        $public_key = &amp;quot;&amp;quot;;&lt;br /&gt;
        // Si le fichier existe, on va récupérer la clé&lt;br /&gt;
        if (file_exists(API_PUB_KEY_PATH))&lt;br /&gt;
        {&lt;br /&gt;
            $public_key = trim(&lt;br /&gt;
                    str_replace(&lt;br /&gt;
                            array(&amp;quot;\n&amp;quot;, '-----BEGIN PUBLIC KEY-----','-----END PUBLIC KEY-----'), &lt;br /&gt;
                            array('', '', ''), &lt;br /&gt;
                            file_get_contents(API_PUB_KEY_PATH)&lt;br /&gt;
                        )&lt;br /&gt;
                    );&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Hashage des paramètres&lt;br /&gt;
        $hash = hash_hmac(&amp;quot;SHA1&amp;quot;, $query, $public_key, true);&lt;br /&gt;
&lt;br /&gt;
        // Encodage en base64&lt;br /&gt;
        $signature = base64_encode($hash);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    return $signature;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Fonction facilitant l'envoie des requêtes vers l'API Ikoula&lt;br /&gt;
function send_request ($rest, $url_param, $params=array())&lt;br /&gt;
{&lt;br /&gt;
	// initialisation de CURL&lt;br /&gt;
	$ch = curl_init();&lt;br /&gt;
	if($ch)&lt;br /&gt;
	{&lt;br /&gt;
		// Si on a des info on utilise l'api REST sinon on utilise l'api standard (WebService)&lt;br /&gt;
		if($rest)&lt;br /&gt;
			$url = &amp;quot;https://api.ikoula.com/rest/&amp;quot; . $url_param;&lt;br /&gt;
		else &lt;br /&gt;
			$url = &amp;quot;https://api.ikoula.com/?r=&amp;quot; . $url_param;&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
		// si on est en REST on rajoute le type d'appel (POST,DELETE,PUT,GET,...) sinon on passe en POST&lt;br /&gt;
		curl_setopt($ch, CURLOPT_CUSTOMREQUEST, ($rest)?$rest:&amp;quot;POST&amp;quot;);&lt;br /&gt;
		// Si il y a des paramètres on les rajoute dans la requête&lt;br /&gt;
		if(is_array($params) &amp;amp;&amp;amp; count($params) &amp;gt; 0)&lt;br /&gt;
		{&lt;br /&gt;
			$params_str = http_build_query($params);&lt;br /&gt;
		}&lt;br /&gt;
		if($rest=='POST')&lt;br /&gt;
		{&lt;br /&gt;
			// on rentre le nom de paramètre présent dans la requête&lt;br /&gt;
			curl_setopt($ch,CURLOPT_POST, true);&lt;br /&gt;
			curl_setopt($ch,CURLOPT_POSTFIELDS, $params_str);&lt;br /&gt;
		}&lt;br /&gt;
		else&lt;br /&gt;
		{&lt;br /&gt;
			$url .= (strpos($url,'?') === false ? '?' : '&amp;amp;').$params_str;&lt;br /&gt;
		}&lt;br /&gt;
			&lt;br /&gt;
		// On ajoute l'url&lt;br /&gt;
		curl_setopt($ch, CURLOPT_URL, $url);&lt;br /&gt;
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);&lt;br /&gt;
		curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);&lt;br /&gt;
		curl_setopt($ch, CURLOPT_HEADER, 1);&lt;br /&gt;
		curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);&lt;br /&gt;
		// on vire les en-tête HTTP pour avoir directement le retour&lt;br /&gt;
		curl_setopt($ch, CURLOPT_HEADER, false);&lt;br /&gt;
	   &lt;br /&gt;
		// exécution de la requête&lt;br /&gt;
		$data = curl_exec($ch);&lt;br /&gt;
	   &lt;br /&gt;
		// fermeture de l'objet&lt;br /&gt;
		curl_close($ch);&lt;br /&gt;
&lt;br /&gt;
		// retourne la réponse&lt;br /&gt;
		return($data);&lt;br /&gt;
	}&lt;br /&gt;
	return null;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Appels API==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
//login&lt;br /&gt;
$login = 'mail@test.com';&lt;br /&gt;
//on crypte le mot de passe&lt;br /&gt;
$crypted_password = base64_encode(opensslEncryptPublic('MOT_DE_PASSE_A_CRYPTER'));&lt;br /&gt;
&lt;br /&gt;
//liste des VM - retour en JSON&lt;br /&gt;
&lt;br /&gt;
//liste des paramètres que l'on souhaite envoyer à l'API (pour générer la signature)&lt;br /&gt;
$parameters = array('login' =&amp;gt; $login, 'crypted_password' =&amp;gt; $crypted_password, 'format' =&amp;gt; 'json');&lt;br /&gt;
//on génère la signature&lt;br /&gt;
$signature = createSignature($parameters);&lt;br /&gt;
//on ajoute la signature dans les paramètres à envoyer lors de l'appel à l'API&lt;br /&gt;
$parameters['signature'] = $signature;&lt;br /&gt;
//on fait l'appel API&lt;br /&gt;
$data = send_request(false,'wsflex/vmlist',$parameters);&lt;br /&gt;
print_r($data); //appel WebService&lt;br /&gt;
$data2 = send_request('GET','vm/list',$parameters);&lt;br /&gt;
print_r($data2); //appel REST&lt;br /&gt;
&lt;br /&gt;
//informations d'une VM - retour en XML&lt;br /&gt;
&lt;br /&gt;
//liste des paramètres que l'on souhaite envoyer à l'API (pour générer la signature)&lt;br /&gt;
$parameters = array('login' =&amp;gt; $login, 'crypted_password' =&amp;gt; $crypted_password, 'format' =&amp;gt; 'xml', 'subscr_id' =&amp;gt; 12345);&lt;br /&gt;
//on génère la signature&lt;br /&gt;
$signature = createSignature($parameters);&lt;br /&gt;
//on ajoute la signature dans les paramètres à envoyer lors de l'appel à l'API&lt;br /&gt;
$parameters['signature'] = $signature;&lt;br /&gt;
//on fait l'appel API&lt;br /&gt;
$data = send_request(false,'wsflex/vminfo',$parameters);&lt;br /&gt;
print_r($data); //appel WebService&lt;br /&gt;
$data2 = send_request('GET','vm/'.$parameters['subscr_id'],$parameters);&lt;br /&gt;
print_r($data2); //appel REST&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Erreurs usuelles==&lt;br /&gt;
;Permission Denied&lt;br /&gt;
: Signifie que l'utilisateur utilisé dans l'API n'a pas le droit d'accéder à l'information demandée ou d'effectuer l'action souhaitée&lt;br /&gt;
;Unable to decrypt password&lt;br /&gt;
: Signifie que le paramètre '''crypted_password''' a été mal crypté ou corrompu&lt;br /&gt;
;Invalid credentials&lt;br /&gt;
: Signifie que l'authentification a échoué et que l'utilisateur n'est donc pas reconnu&lt;br /&gt;
;Invalid or missing signature&lt;br /&gt;
: Signifie que la signature n'est pas présente dans les paramètres reçus par l'API, ou que celle-ci est invalide&lt;br /&gt;
&amp;lt;br /&amp;gt;D'autres remontées d'erreurs sont possibles mais seront contextuelles en fonction de la fonctionnalité souhaitée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Fin de l'article --&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Cet article vous a semblé utile ? &amp;lt;vote /&amp;gt;&lt;br /&gt;
&amp;lt;!-- Placez ici la ou les catégories auxquelles se rapporte votre article. Une ligne par catégorie. Ex: &lt;br /&gt;
[[Catégorie:Contribuer]]&lt;br /&gt;
[[Catégorie:Linux]] --&amp;gt;&lt;br /&gt;
[[Catégorie:API]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Gestion SEO. Indiquez les informations manquantes --&amp;gt;&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>Jquiaios31670</name></author>
	</entry>
	<entry>
		<id>https://fr-wiki.ikoula.com/index.php?title=Authentification_et_s%C3%A9curit%C3%A9&amp;diff=952</id>
		<title>Authentification et sécurité</title>
		<link rel="alternate" type="text/html" href="https://fr-wiki.ikoula.com/index.php?title=Authentification_et_s%C3%A9curit%C3%A9&amp;diff=952"/>
		<updated>2015-07-03T08:35:16Z</updated>

		<summary type="html">&lt;p&gt;Jquiaios31670 : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Début de l'article. Placez votre texte ci-après et n'hésitez pas à personnaliser les chapitres selon votre besoin --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
Comment s'authentifier à l'API Ikoula et les politiques de sécurité ?&lt;br /&gt;
&lt;br /&gt;
==Explications==&lt;br /&gt;
Pour des raisons évidentes de sécurité, l'API Ikoula exige une authentification. Celle-ci est basée sur un identifiant, un mot de passe et une signature :&amp;lt;br /&amp;gt;&lt;br /&gt;
* L'identifiant est l'adresse mail utilisée pour la connexion à votre compte Ikoula ou à l'extranet. Le nom du paramètre pour le transmettre est toujours '''login'''.&lt;br /&gt;
* Le mot de passe quant à lui peut être, soit fourni en texte clair (paramètre '''password'''), soit chiffré via une fonction spécifique utilisant une clé publique fournie par Ikoula (paramètre '''crypted_password''') et base64_encode&lt;br /&gt;
* La signature est générée en fonction des paramètres fournis lors de l'appel à l'API (voir la procédure de génération de la signature ==&amp;gt; [[Génération_de_la_signature|Génération de la signature]])&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Ces paramètres doivent toujours être passés en GET à l'API !'''&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;ATTENTION:&amp;lt;br /&amp;gt;&lt;br /&gt;
Le passage du mot de passe en texte clair est fourni pour faciliter la prise en main de l'API et fait office de debug. Pour vos tests de l'API, vous pouvez par exemple utiliser un utilisateur temporaire dédié à ces tests et vous authentifier avec son mot de passe en clair (Voir le WIKI ci-après pour la création de sous-utilisateur: https://support.ikoula.com/index-1-2-2835.html).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
L'utilisation du chiffrement de mot de passe avec la clé publique Ikoula est indispensable dans tout contexte de production ou non-court terme.&amp;lt;br /&amp;gt;&lt;br /&gt;
Si les appels API sont voués à être utilisés via un script ou un programme, nous vous recommandons la création d'un utilisateur dédié à cet effet plutôt que d'utiliser votre utilisateur extranet classique.&amp;lt;br /&amp;gt;&lt;br /&gt;
Deux possibilités s'offrent à vous :&amp;lt;br /&amp;gt;&lt;br /&gt;
* Contacter notre support pour la création d'un utilisateur extranet&lt;br /&gt;
* Créer un sous-utilisateur directement depuis la page d'accueil de votre compte extranet (Voir le WIKI ci-après pour la création de sous-utilisateur: https://support.ikoula.com/index-1-2-2835.html) en n'oubliant surtout pas '''de lui mettre les droits sur les prestations souhaitées'''.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
;La clé publique de chiffrement du mot de passe est disponible à l'adresse suivante:&lt;br /&gt;
: https://api.ikoula.com/downloads/Ikoula.API.RSAKeyPub.pem&lt;br /&gt;
&lt;br /&gt;
==Exemples==&lt;br /&gt;
Pour cet exemple, le login sera &amp;quot;ikoulasupport&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour crypter le mot de passe, voici un exemple de fonction utilisant la clé publique iKoula :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// Chemin local vers la clef publique téléchargée à http://api.ikoula.com/downloads/Ikoula.API.RSAKeyPub.pem&lt;br /&gt;
define('API_PUB_KEY_PATH', dirname(__FILE__) . '/Ikoula.API.RSAKeyPub.pem');&lt;br /&gt;
 &lt;br /&gt;
// Fonction de cryptage du mot de passe via la clef publique Ikoula&lt;br /&gt;
function opensslEncryptPublic($password)&lt;br /&gt;
{&lt;br /&gt;
        // Vérification de la présence de la clef publique&lt;br /&gt;
        if(file_exists(API_PUB_KEY_PATH))&lt;br /&gt;
        {&lt;br /&gt;
                if(!empty($password))&lt;br /&gt;
                {&lt;br /&gt;
                        // on récupére la clef public&lt;br /&gt;
                        $publicKey = openssl_pkey_get_public('file://'.realpath(API_PUB_KEY_PATH));&lt;br /&gt;
 &lt;br /&gt;
                        // Si il n'y a pas eu d'erreur lors de la récupération de la clef publique on continue&lt;br /&gt;
                        if ($publicKey !== FALSE)      &lt;br /&gt;
                        {&lt;br /&gt;
                                // Si chiffrement clef publique OK&lt;br /&gt;
                                if(openssl_public_encrypt($password, $crypted, $publicKey) === TRUE)   &lt;br /&gt;
                                {&lt;br /&gt;
                                        // Renvoie du passe crypté&lt;br /&gt;
                                        return $crypted;       &lt;br /&gt;
                                }&lt;br /&gt;
                                else&lt;br /&gt;
                                {&lt;br /&gt;
                                        return NULL;&lt;br /&gt;
                                }&lt;br /&gt;
                        }&lt;br /&gt;
                        else&lt;br /&gt;
                                return NULL;&lt;br /&gt;
                }&lt;br /&gt;
                else&lt;br /&gt;
                        return NULL;&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
                echo(&amp;quot;Erreur la clée public n'est pas présente.\n&amp;quot;);&lt;br /&gt;
                return NULL;&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Utilisation de la fonction de cryptage&lt;br /&gt;
$password_crypt = opensslEncryptPublic(&amp;quot;Mot de passe non crypté&amp;quot;);&lt;br /&gt;
if($password_crypt != NULL)&lt;br /&gt;
        echo &amp;quot;OK Mot de passe crypté: &amp;quot;.$password_crypt;&lt;br /&gt;
else&lt;br /&gt;
        echo &amp;quot;Erreur lors du cryptage du mot de passe.&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// ==&amp;gt; $password_crypt contient donc le mot de passe crypté&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
Une fois le mot de passe crypté et la signature cryptée, on peut donc faire l'appel API avec comme paramètres (si on suit l'exemple ci-dessus) :&amp;lt;br /&amp;gt;&lt;br /&gt;
* login = ikoulasupport&lt;br /&gt;
* crypted_password = base64_encode($password_crypt)&lt;br /&gt;
* signature = signature générée (voir la procédure de génération de la signature ==&amp;gt; [[Génération_de_la_signature|Génération de la signature]])&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''NB : N'oubliez pas d'url_encoder chaque paramètre passé !'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Fin de l'article --&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Cet article vous a semblé utile ? &amp;lt;vote /&amp;gt;&lt;br /&gt;
&amp;lt;!-- Placez ici la catégorie à laquelle se rapporte votre article. Ex: [[Categorie:Contribuer]] --&amp;gt;&lt;br /&gt;
[[Catégorie:API]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Gestion SEO. Indiquez les informations manquantes --&amp;gt;&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>Jquiaios31670</name></author>
	</entry>
	<entry>
		<id>https://fr-wiki.ikoula.com/index.php?title=Architectures_REST_%26_WebService&amp;diff=970</id>
		<title>Architectures REST &amp; WebService</title>
		<link rel="alternate" type="text/html" href="https://fr-wiki.ikoula.com/index.php?title=Architectures_REST_%26_WebService&amp;diff=970"/>
		<updated>2015-07-03T08:27:48Z</updated>

		<summary type="html">&lt;p&gt;Jquiaios31670 : Page créée avec « &amp;lt;!-- Début de l'article. Placez votre texte ci-après et n'hésitez pas à personnaliser les chapitres selon votre besoin --&amp;gt;  ==Introduction== Avec quelle architecture l... »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Début de l'article. Placez votre texte ci-après et n'hésitez pas à personnaliser les chapitres selon votre besoin --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
Avec quelle architecture l'API est-elle compatible ?&lt;br /&gt;
&lt;br /&gt;
==Explication==&lt;br /&gt;
L'API Ikoula propose une approche suivant deux architectures: WebService &amp;amp; REST.&lt;br /&gt;
&lt;br /&gt;
==WebService==&lt;br /&gt;
L'architecture WebService s'utilise :&lt;br /&gt;
* soit en GET (en formatant les paramètres directement dans l'URI) '''obligatoire pour les paramètres d'authentification'''&lt;br /&gt;
* soit en POST (en passant les paramètres en tableau de données)&lt;br /&gt;
* soit en mixant les 2 (paramètres présents en GET et en POST)&lt;br /&gt;
&amp;lt;br /&amp;gt;Voici quelques exemples :&lt;br /&gt;
;Lister les VM d'un compte&lt;br /&gt;
: https://api.ikoula.com/index.php?r=wsflex/vmlist&amp;amp;login=mail@example.com&amp;amp;crypted_password=encrypted_password&amp;amp;signature=xxxxxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
;Récupération des informations d'une VM en utilisant son nom&lt;br /&gt;
: https://api.ikoula.com/index.php?r=wsflex/vminfo&amp;amp;login=mail@example.com&amp;amp;crypted_password=encrypted_password&amp;amp;vm_name=1234hpv56789&amp;amp;signature=xxxxxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
==REST==&lt;br /&gt;
L'architecture REST s'utilise en formatant les paramètres dans l'URI et la méthode HTTP adéquate à l'action désirée.&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici quelques exemples :&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Retourne le statut de la VM &amp;quot;vmid&amp;quot;&lt;br /&gt;
: GET /rest/vm/:vmid&lt;br /&gt;
;Démarre la VM &amp;quot;vmid&amp;quot;&lt;br /&gt;
: POST /rest/vm/:vmid/status/start&lt;br /&gt;
;Supprime le snapshot &amp;quot;snapshotName&amp;quot; de la VM &amp;quot;vmid&amp;quot;&lt;br /&gt;
: DELETE /rest/vm/:vmid/snapshot/:snapshotName&lt;br /&gt;
&lt;br /&gt;
En passant les paramètres d'authentification (voir WIKI sur l'[[Authentification_et_sécurité|Authentification et la sécurité]] pour plus de détails), voici un exemple d'URL :&amp;lt;br /&amp;gt;&lt;br /&gt;
https://api.ikoula.com/rest/vm/list?login=mail@example.com&amp;amp;crypted_password=encrypted_password&amp;amp;signature=xxxxxxxxxxxxxxxxxxxxxxxxxxx&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Fin de l'article --&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Cet article vous a semblé utile ? &amp;lt;vote /&amp;gt;&lt;br /&gt;
&amp;lt;!-- Placez ici la ou les catégories auxquelles se rapporte votre article. Une ligne par catégorie. Ex: &lt;br /&gt;
[[Catégorie:Contribuer]]&lt;br /&gt;
[[Catégorie:Linux]] --&amp;gt;&lt;br /&gt;
[[Catégorie:API]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Gestion SEO. Indiquez les informations manquantes --&amp;gt;&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>Jquiaios31670</name></author>
	</entry>
	<entry>
		<id>https://fr-wiki.ikoula.com/index.php?title=Format_de_retour&amp;diff=969</id>
		<title>Format de retour</title>
		<link rel="alternate" type="text/html" href="https://fr-wiki.ikoula.com/index.php?title=Format_de_retour&amp;diff=969"/>
		<updated>2015-07-02T16:20:21Z</updated>

		<summary type="html">&lt;p&gt;Jquiaios31670 : Page créée avec « &amp;lt;!-- Début de l'article. Placez votre texte ci-après et n'hésitez pas à personnaliser les chapitres selon votre besoin --&amp;gt;  ==Introduction== L'API iKoula propose deux... »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Début de l'article. Placez votre texte ci-après et n'hésitez pas à personnaliser les chapitres selon votre besoin --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
L'API iKoula propose deux formats de retour pour les réponses : XML &amp;amp; JSON&lt;br /&gt;
&lt;br /&gt;
==Explications==&lt;br /&gt;
Chaque méthode disponible dans l'API renvoie une réponse.&amp;lt;br /&amp;gt;&lt;br /&gt;
Par défaut, le retour de l'API est en XML.&amp;lt;br /&amp;gt;&lt;br /&gt;
Il est possible de changer ce format de retour en passant un paramètre supplémentaire '''format''', ayant pour valeur soit '''json''' soit '''xml'''. Si vous ajoutez ce paramètre, n'oubliez pas de l'ajouter avant la génération de votre signature (voir [[Format_de_retour#Attention|Attention]])&lt;br /&gt;
&lt;br /&gt;
==Exemples==&lt;br /&gt;
Voici quelques exemples d'appels en GET :&amp;lt;br /&amp;gt;&lt;br /&gt;
;XML par défaut&lt;br /&gt;
: &amp;lt;pre&amp;gt;https://api.ikoula.com/index.php?r=wsflex/vmlist&amp;amp;login=mail@example.com&amp;amp;crypted_password=password_encrypted&amp;amp;signature=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx&amp;lt;/pre&amp;gt;&lt;br /&gt;
;XML souhaité&lt;br /&gt;
: &amp;lt;pre&amp;gt;https://api.ikoula.com/index.php?r=wsflex/vmlist&amp;amp;login=mail@example.com&amp;amp;crypted_password=password_encrypted&amp;amp;format=xml&amp;amp;signature=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx&amp;lt;/pre&amp;gt;&lt;br /&gt;
;JSON souhaité&lt;br /&gt;
: &amp;lt;pre&amp;gt;https://api.ikoula.com/index.php?r=wsflex/vmlist&amp;amp;login=mail@example.com&amp;amp;crypted_password=password_encrypted&amp;amp;format=json&amp;amp;signature=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Attention==&lt;br /&gt;
Si vous précisez le format de retour, vous ajoutez un paramètre supplémentaire à l'appel API. Il ne faut donc pas oublier de l'ajouter '''AVANT''' de générer votre signature (voir WIKI de [[Génération_de_la_signature|Génération de la signature]])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Fin de l'article --&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Cet article vous a semblé utile ? &amp;lt;vote /&amp;gt;&lt;br /&gt;
&amp;lt;!-- Placez ici la ou les catégories auxquelles se rapporte votre article. Une ligne par catégorie. Ex: &lt;br /&gt;
[[Catégorie:Contribuer]]&lt;br /&gt;
[[Catégorie:Linux]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Gestion SEO. Indiquez les informations manquantes --&amp;gt;&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>Jquiaios31670</name></author>
	</entry>
	<entry>
		<id>https://fr-wiki.ikoula.com/index.php?title=G%C3%A9n%C3%A9ration_de_la_signature&amp;diff=946</id>
		<title>Génération de la signature</title>
		<link rel="alternate" type="text/html" href="https://fr-wiki.ikoula.com/index.php?title=G%C3%A9n%C3%A9ration_de_la_signature&amp;diff=946"/>
		<updated>2015-07-02T16:10:14Z</updated>

		<summary type="html">&lt;p&gt;Jquiaios31670 : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Début de l'article. Placez votre texte ci-après et n'hésitez pas à personnaliser les chapitres selon votre besoin --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
Lors d'un appel à l'API, comme indiqué dans le WIKI de l'authentification, une signature est obligatoire. Elle est générée '''en fonction de l'ensemble des paramètres fournis lors de l'appel'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour des raisons techniques, les paramètres d'authentification doivent ''pour l'instant'' toujours être transmises via la méthode HTTP GET&lt;br /&gt;
&lt;br /&gt;
==Exemple==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// Définition des paramètres&lt;br /&gt;
$data[&amp;quot;login&amp;quot;] = &amp;quot;mail@example.com&amp;quot;;&lt;br /&gt;
$data[&amp;quot;password&amp;quot;] = &amp;quot;dh4=674j_G&amp;quot;; // Mot de passe non chiffré&lt;br /&gt;
// D&amp;quot;autres paramètres peuvent êtres ajoutés en fonction de l&amp;quot;appel à l&amp;quot;API&lt;br /&gt;
// $data[&amp;quot;autre_parametre&amp;quot;] = &amp;quot;valeur&amp;quot;;&lt;br /&gt;
// $data[&amp;quot;autre_parametre_2&amp;quot;] = &amp;quot;valeur_2&amp;quot;;&lt;br /&gt;
// $data[&amp;quot;...&amp;quot;] = &amp;quot;...&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
// Triage des paramètres dans l'ordre croissant&lt;br /&gt;
ksort($data);&lt;br /&gt;
 &lt;br /&gt;
// Encodage des paramètres&lt;br /&gt;
$query = http_build_query($data);&lt;br /&gt;
 &lt;br /&gt;
// Encodage des signes plus&lt;br /&gt;
$query = str_replace(&amp;quot;+&amp;quot;, &amp;quot;%20&amp;quot;, $query);&lt;br /&gt;
 &lt;br /&gt;
// Transformation de la chaîne de caractères en minuscule&lt;br /&gt;
$query = strtolower($query);&lt;br /&gt;
 &lt;br /&gt;
// Clé publique d'Ikoula (cf. lien ci-dessus)&lt;br /&gt;
$public_key=&amp;quot;MIIBIjAN...&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
// Hashage des paramètres&lt;br /&gt;
$hash = hash_hmac(&amp;quot;SHA1&amp;quot;, $query, $public_key, true);&lt;br /&gt;
 &lt;br /&gt;
// Encodage en base64, puis encodage en URL selon RFC 3986&lt;br /&gt;
$signature = rawurlencode(base64_encode($hash));&lt;br /&gt;
 &lt;br /&gt;
// ==&amp;gt; $signature contient alors la signature finale&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
Une fois la signature générée, il faut la passer en paramètre (en plus de tous les autres paramètres) à l'appel API.&amp;lt;br /&amp;gt;&lt;br /&gt;
En suivant l'exemple précédent, les paramètres à passer auraient donc été :&amp;lt;br /&amp;gt;&lt;br /&gt;
* login = &amp;quot;mail@example.com&amp;quot;&lt;br /&gt;
* password = &amp;quot;dh4=674j_G&amp;quot;&lt;br /&gt;
* signature = $signature&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Fin de l'article --&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Cet article vous a semblé utile ? &amp;lt;vote /&amp;gt;&lt;br /&gt;
&amp;lt;!-- Placez ici la catégorie à laquelle se rapporte votre article. Ex: [[Catégorie:Contribuer]] --&amp;gt;&lt;br /&gt;
[[Catégorie:API]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Gestion SEO. Indiquez les informations manquantes --&amp;gt;&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>Jquiaios31670</name></author>
	</entry>
	<entry>
		<id>https://fr-wiki.ikoula.com/index.php?title=Authentification_et_s%C3%A9curit%C3%A9&amp;diff=950</id>
		<title>Authentification et sécurité</title>
		<link rel="alternate" type="text/html" href="https://fr-wiki.ikoula.com/index.php?title=Authentification_et_s%C3%A9curit%C3%A9&amp;diff=950"/>
		<updated>2015-07-02T15:16:33Z</updated>

		<summary type="html">&lt;p&gt;Jquiaios31670 : Page créée avec « &amp;lt;!-- Début de l'article. Placez votre texte ci-après et n'hésitez pas à personnaliser les chapitres selon votre besoin --&amp;gt;  ==Introduction== Comment s'authentifier à... »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Début de l'article. Placez votre texte ci-après et n'hésitez pas à personnaliser les chapitres selon votre besoin --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
Comment s'authentifier à l'API Ikoula et les politique de sécurité&lt;br /&gt;
&lt;br /&gt;
==Explications==&lt;br /&gt;
Pour des raisons évidentes de sécurité, l'API Ikoula exige une authentification. Celle-ci est basée sur un identifiant, un mot de passe et une signature :&amp;lt;br /&amp;gt;&lt;br /&gt;
* L'identifiant est l'adresse mail utilisée pour la connexion à votre compte Ikoula ou à l'extranet. Le nom du paramètre pour le transmettre est toujours '''login'''.&lt;br /&gt;
* Le mot de passe quant à lui peut être fourni en texte clair (paramètre '''password''') ou chiffré via une fonction spécifique utilisant une clé publique fournie par Ikoula (paramètre '''crypted_password''')&lt;br /&gt;
* La signature est générée en fonction des paramètres fournis lors de l'appel à l'API (voir la procédure de génération de la signature ==&amp;gt; [[Génération_de_la_signature|Génération de la signature]])&lt;br /&gt;
&amp;lt;br /&amp;gt;ATTENTION:&amp;lt;br /&amp;gt;&lt;br /&gt;
Le passage du mot de passe en texte clair est fourni pour faciliter la prise en main de l'API et fait office de debug. Pour vos tests de l'API, vous pouvez par exemple utiliser un utilisateur temporaire dédié à ces tests et vous authentifier avec son mot de passe en clair (Voir le WIKI ci-après pour la création de sous-utilisateur: https://support.ikoula.com/index-1-2-2835.html).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
L'utilisation du chiffrement de mot de passe avec la clé publique Ikoula est indispensable dans tout contexte de production ou non-court terme.&amp;lt;br /&amp;gt;&lt;br /&gt;
Si les appels API sont voués à être utilisés via un script ou un programme, nous vous recommandons la création d'un utilisateur dédié à cet effet plutôt que d'utiliser votre utilisateur extranet classique.&amp;lt;br /&amp;gt;&lt;br /&gt;
Deux possibilités s'offrent à vous :&amp;lt;br /&amp;gt;&lt;br /&gt;
* Contacter notre support pour la création d'un utilisateur extranet&lt;br /&gt;
* Créer un sous-utilisateur directement depuis la page d'accueil de votre compte extranet (Voir le WIKI ci-après pour la création de sous-utilisateur: https://support.ikoula.com/index-1-2-2835.html) en n'oubliant surtout pas '''de lui mettre les droits sur les prestations souhaitées'''.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
;La clé publique de chiffrement du mot de passe est disponible à l'adresse suivante:&lt;br /&gt;
: https://api.ikoula.com/downloads/Ikoula.API.RSAKeyPub.pem&lt;br /&gt;
&lt;br /&gt;
==Exemples==&lt;br /&gt;
Pour cet exemple, le login sera &amp;quot;ikoulasupport&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour crypter le mot de passe, voici un exemple de fonction utilisant la clé publique iKoula :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// Chemin local vers la clef publique téléchargée à http://api.ikoula.com/downloads/Ikoula.API.RSAKeyPub.pem&lt;br /&gt;
define('API_PUB_KEY_PATH', dirname(__FILE__) . '/Ikoula.API.RSAKeyPub.pem');&lt;br /&gt;
 &lt;br /&gt;
// Fonction de cryptage du mot de passe via la clef publique Ikoula&lt;br /&gt;
function opensslEncryptPublic($password)&lt;br /&gt;
{&lt;br /&gt;
        // Vérification de la présence de la clef publique&lt;br /&gt;
        if(file_exists(API_PUB_KEY_PATH))&lt;br /&gt;
        {&lt;br /&gt;
                if(!empty($password))&lt;br /&gt;
                {&lt;br /&gt;
                        // on récupére la clef public&lt;br /&gt;
                        $publicKey = openssl_pkey_get_public('file://'.realpath(API_PUB_KEY_PATH));&lt;br /&gt;
 &lt;br /&gt;
                        // Si il n'y a pas eu d'erreur lors de la récupération de la clef publique on continue&lt;br /&gt;
                        if ($publicKey !== FALSE)      &lt;br /&gt;
                        {&lt;br /&gt;
                                // Si chiffrement clef publique OK&lt;br /&gt;
                                if(openssl_public_encrypt($password, $crypted, $publicKey) === TRUE)   &lt;br /&gt;
                                {&lt;br /&gt;
                                        // Renvoie du passe crypté&lt;br /&gt;
                                        return $crypted;       &lt;br /&gt;
                                }&lt;br /&gt;
                                else&lt;br /&gt;
                                {&lt;br /&gt;
                                        return NULL;&lt;br /&gt;
                                }&lt;br /&gt;
                        }&lt;br /&gt;
                        else&lt;br /&gt;
                                return NULL;&lt;br /&gt;
                }&lt;br /&gt;
                else&lt;br /&gt;
                        return NULL;&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
                echo(&amp;quot;Erreur la clée public n'est pas présente.\n&amp;quot;);&lt;br /&gt;
                return NULL;&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
// Utilisation de la fonction de cryptage&lt;br /&gt;
$password_crypt = opensslEncryptPublic(&amp;quot;Mot de passe non crypté&amp;quot;);&lt;br /&gt;
if($password_crypt != NULL)&lt;br /&gt;
        echo &amp;quot;OK Mot de passe crypté: &amp;quot;.$password_crypt;&lt;br /&gt;
else&lt;br /&gt;
        echo &amp;quot;Erreur lors du cryptage du mot de passe.&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// ==&amp;gt; $password_crypt contient donc le mot de passe crypté&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
Une fois le mot de passe crypté et la signature cryptée, on peut donc faire l'appel API avec comme paramètres (si on suit l'exemple ci-dessus) :&amp;lt;br /&amp;gt;&lt;br /&gt;
* login = ikoulasupport&lt;br /&gt;
* crypted_password = $password_crypt&lt;br /&gt;
* signature = signature générée (voir la procédure de génération de la signature ==&amp;gt; [[Génération_de_la_signature|Génération de la signature]])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Fin de l'article --&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Cet article vous a semblé utile ? &amp;lt;vote /&amp;gt;&lt;br /&gt;
&amp;lt;!-- Placez ici la catégorie à laquelle se rapporte votre article. Ex: [[Categorie:Contribuer]] --&amp;gt;&lt;br /&gt;
[[Categorie:API]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Gestion SEO. Indiquez les informations manquantes --&amp;gt;&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>Jquiaios31670</name></author>
	</entry>
	<entry>
		<id>https://fr-wiki.ikoula.com/index.php?title=G%C3%A9n%C3%A9ration_de_la_signature&amp;diff=945</id>
		<title>Génération de la signature</title>
		<link rel="alternate" type="text/html" href="https://fr-wiki.ikoula.com/index.php?title=G%C3%A9n%C3%A9ration_de_la_signature&amp;diff=945"/>
		<updated>2015-07-02T15:08:41Z</updated>

		<summary type="html">&lt;p&gt;Jquiaios31670 : Page créée avec « &amp;lt;!-- Début de l'article. Placez votre texte ci-après et n'hésitez pas à personnaliser les chapitres selon votre besoin --&amp;gt;  ==Introduction== Lors d'un appel à l'API,... »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Début de l'article. Placez votre texte ci-après et n'hésitez pas à personnaliser les chapitres selon votre besoin --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
Lors d'un appel à l'API, comme indiqué dans le WIKI de l'authentification, une signature est obligatoire. Elle est générée en fonction de l'ensemble des paramètres fournis lors de l'appel.&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour des raisons techniques, les paramètres d'authentification doivent ''pour l'instant'' toujours être transmises via la méthode HTTP GET&lt;br /&gt;
&lt;br /&gt;
==Exemple==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// Définition des paramètres&lt;br /&gt;
$data[&amp;quot;login&amp;quot;] = &amp;quot;mail@example.com&amp;quot;;&lt;br /&gt;
$data[&amp;quot;password&amp;quot;] = &amp;quot;dh4=674j_G&amp;quot;; // Mot de passe non chiffré&lt;br /&gt;
// D&amp;quot;autres paramètres peuvent êtres ajoutés en fonction de l&amp;quot;appel à l&amp;quot;API&lt;br /&gt;
// $data[&amp;quot;autre_parametre&amp;quot;] = &amp;quot;valeur&amp;quot;;&lt;br /&gt;
// $data[&amp;quot;autre_parametre_2&amp;quot;] = &amp;quot;valeur_2&amp;quot;;&lt;br /&gt;
// $data[&amp;quot;...&amp;quot;] = &amp;quot;...&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
// Triage des paramètres dans l'ordre croissant&lt;br /&gt;
ksort($data);&lt;br /&gt;
 &lt;br /&gt;
// Encodage des paramètres&lt;br /&gt;
$query = http_build_query($data);&lt;br /&gt;
 &lt;br /&gt;
// Encodage des signes plus&lt;br /&gt;
$query = str_replace(&amp;quot;+&amp;quot;, &amp;quot;%20&amp;quot;, $query);&lt;br /&gt;
 &lt;br /&gt;
// Transformation de la chaîne de caractères en minuscule&lt;br /&gt;
$query = strtolower($query);&lt;br /&gt;
 &lt;br /&gt;
// Clé publique d'Ikoula (cf. lien ci-dessus)&lt;br /&gt;
$public_key=&amp;quot;MIIBIjAN...&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
// Hashage des paramètres&lt;br /&gt;
$hash = hash_hmac(&amp;quot;SHA1&amp;quot;, $query, $public_key, true);&lt;br /&gt;
 &lt;br /&gt;
// Encodage en base64, puis encodage en URL selon RFC 3986&lt;br /&gt;
$signature = rawurlencode(base64_encode($hash));&lt;br /&gt;
 &lt;br /&gt;
// ==&amp;gt; $signature contient alors la signature finale&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
Une fois la signature générée, il faut la passer en paramètre (en plus de tous les autres paramètres) à l'appel API.&amp;lt;br /&amp;gt;&lt;br /&gt;
En suivant l'exemple précédent, les paramètres à passer auraient donc été :&amp;lt;br /&amp;gt;&lt;br /&gt;
* login = &amp;quot;mail@example.com&amp;quot;&lt;br /&gt;
* password = &amp;quot;dh4=674j_G&amp;quot;&lt;br /&gt;
* signature = $signature&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Fin de l'article --&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Cet article vous a semblé utile ? &amp;lt;vote /&amp;gt;&lt;br /&gt;
&amp;lt;!-- Placez ici la catégorie à laquelle se rapporte votre article. Ex: [[Categorie:Contribuer]] --&amp;gt;&lt;br /&gt;
[[Categorie:API]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Gestion SEO. Indiquez les informations manquantes --&amp;gt;&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>Jquiaios31670</name></author>
	</entry>
	<entry>
		<id>https://fr-wiki.ikoula.com/index.php?title=Est-ce_possible_d%27avoir_plusieurs_identifiants_de_connexion_%C3%A0_l%27extranet_%3F&amp;diff=940</id>
		<title>Est-ce possible d'avoir plusieurs identifiants de connexion à l'extranet ?</title>
		<link rel="alternate" type="text/html" href="https://fr-wiki.ikoula.com/index.php?title=Est-ce_possible_d%27avoir_plusieurs_identifiants_de_connexion_%C3%A0_l%27extranet_%3F&amp;diff=940"/>
		<updated>2015-07-02T13:43:15Z</updated>

		<summary type="html">&lt;p&gt;Jquiaios31670 : Page créée avec « &amp;lt;!-- Début de l'article. Placez votre texte ci-après et n'hésitez pas à personnaliser les chapitres selon votre besoin --&amp;gt;  ==Introduction== Est-ce possible d'avoir pl... »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Début de l'article. Placez votre texte ci-après et n'hésitez pas à personnaliser les chapitres selon votre besoin --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
Est-ce possible d'avoir plusieurs identifiants de connexion à l'extranet ?&lt;br /&gt;
&lt;br /&gt;
==Explications==&lt;br /&gt;
L'extranet iKoula dispose d'un système de sous-utilisateurs. Ces utilisateurs disposent d'un rôle '''les limitant à certaines prestations spécifiques''', dont la liste est définie par l'utilisateur principal du compte client.&amp;lt;br /&amp;gt;&lt;br /&gt;
Le système de gestion des sous-utilisateurs est accessible depuis l'accueil extranet pour tout utilisateur '''n'étant PAS lui même un sous-utilisateur'''.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Pour s'y rendre, rendez-vous sur page d'accueil de l'extranet, dans la section &amp;quot;Gestion du compte &amp;amp; facturation&amp;quot; vous trouverez le lien ''gestion des sous-utilisateurs''.&amp;lt;br /&amp;gt;&lt;br /&gt;
On y trouve une liste les sous-utilisateurs et pour chacun la possibilité de configurer le compte et les droits du sous-utilisateur souhaité via le bouton &amp;quot;Editer&amp;quot;.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br &amp;gt;&lt;br /&gt;
Dans la page de configuration, il est possible de :&lt;br /&gt;
* Activer / désactiver le compte du sous-utilisateur&lt;br /&gt;
* Changer ses informations personnelles + mot de passe&lt;br /&gt;
* L'associer aux prestations auxquelles il pourra accéder (et ajouter un commentaire optionnel à cet association)&lt;br /&gt;
&lt;br /&gt;
==Pour aller plus loin==&lt;br /&gt;
Retrouvez toutes les informations sur l'Extranet : https://ies.ikoula.com/extranet_entreprise&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Fin de l'article --&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Cet article vous a semblé utile ? &amp;lt;vote /&amp;gt;&lt;br /&gt;
&amp;lt;!-- Placez ici la catégorie à laquelle se rapporte votre article. Ex: [[Categorie:Extranet]] --&amp;gt;&lt;br /&gt;
[[Categorie:Extranet]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Gestion SEO. Indiquez les informations manquantes --&amp;gt;&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>Jquiaios31670</name></author>
	</entry>
	<entry>
		<id>https://fr-wiki.ikoula.com/index.php?title=Gestion_de_base_des_groupes_de_s%C3%A9curit%C3%A9&amp;diff=937</id>
		<title>Gestion de base des groupes de sécurité</title>
		<link rel="alternate" type="text/html" href="https://fr-wiki.ikoula.com/index.php?title=Gestion_de_base_des_groupes_de_s%C3%A9curit%C3%A9&amp;diff=937"/>
		<updated>2015-07-02T12:50:41Z</updated>

		<summary type="html">&lt;p&gt;Jquiaios31670 : Page créée avec « &amp;lt;!-- Début de l'article. Placez votre texte ci-après et n'hésitez pas à personnaliser les chapitres selon votre besoin --&amp;gt;  ==Introduction== Vous trouverez ici un ense... »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Début de l'article. Placez votre texte ci-après et n'hésitez pas à personnaliser les chapitres selon votre besoin --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
Vous trouverez ici un ensemble d'informations sur la gestion simplifiée des ouvertures de ports en zone de routage basique avec CloudInstance&lt;br /&gt;
&lt;br /&gt;
==Déroulé==&lt;br /&gt;
Par défaut, aucune règle de sécurité n'autorise le trafic entrant vers votre instance lors d'une création en zone basique (Zone 3) dans CloudStack.&amp;lt;br /&amp;gt;&lt;br /&gt;
Afin de pouvoir communiquer avec votre instance, il est donc nécessaire d'ouvrir les ports correspondants à votre utilisation.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Voici quelques exemples courants d'ouverture de port (Nous utiliserons le CIDR 0.0.0.0/0 afin d'autoriser toutes les plages d'IP, à adapter en fonction de vos besoins de sécurité) :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Autoriser le &amp;quot;ping&amp;quot; (Plus d'info sur http://www.nthelp.com/icmp.html)&lt;br /&gt;
: Protocole ICMP, Type 8, Code 0, CIDR 0.0.0.0/0&lt;br /&gt;
;SSH&lt;br /&gt;
: Protocole TCP, port de début 22, port de fin 22, CIDR 0.0.0.0/0&lt;br /&gt;
;RDP (Remote desktop)&lt;br /&gt;
: Protocole TCP, port de début 3389, port de fin 3389, CIDR 0.0.0.0/0&lt;br /&gt;
;Service Web (IIS, Apache, nginx...)&lt;br /&gt;
: Protocole TCP, port de début 80, port de fin 80, CIDR 0.0.0.0/0&lt;br /&gt;
;Service Web SSL (IIS, Apache, nginx...) &lt;br /&gt;
: Protocole TCP, port de début 443, port de fin 443, CIDR 0.0.0.0/0&lt;br /&gt;
;MySQL&lt;br /&gt;
: Protocole TCP, port de début 3306, port de fin 3306, CIDR 0.0.0.0/0&lt;br /&gt;
;SQLServer&lt;br /&gt;
: Protocole TCP, port de début 1433, port de fin 1433, CIDR 0.0.0.0/0&lt;br /&gt;
;Service DNS&lt;br /&gt;
: Protocole UDP, port de début 53, port de fin 53, CIDR 0.0.0.0/0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Fin de l'article --&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Cet article vous a semblé utile ? &amp;lt;vote /&amp;gt;&lt;br /&gt;
&amp;lt;!-- Placez ici la catégorie à laquelle se rapporte votre article. Ex: [[Categorie:Contribuer]] --&amp;gt;&lt;br /&gt;
[[Catégorie:Cloud_public]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Gestion SEO. Indiquez les informations manquantes --&amp;gt;&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>Jquiaios31670</name></author>
	</entry>
</feed>