function get_procs($type = "", $set = "")
 {
     global $charset, $class_path, $pmb_version_brut;
     global $msg;
     global $pmb_curl_proxy;
     $params = array("credentials" => array("user" => $this->server_username, "key" => $this->server_key));
     if ($set) {
         $params["set"] = $set;
     }
     if ($type) {
         $params["type"] = $type;
     }
     $params["pmbversion"] = $pmb_version_brut;
     //Utilisons php_soap si disponible
     if (extension_loaded("soap")) {
         $soap_client_parameters = array();
         if ($pmb_curl_proxy != '') {
             $param_proxy = explode(',', $pmb_curl_proxy);
             $adresse_proxy = $param_proxy[0];
             $port_proxy = $param_proxy[1];
             $user_proxy = $param_proxy[2];
             $pwd_proxy = $param_proxy[3];
             $soap_client_parameters = array('proxy_host' => $adresse_proxy, 'proxy_port' => $port_proxy, 'proxy_login' => $user_proxy, 'proxy_password' => $pwd_proxy);
         }
         $soap_client_parameters['features'] = SOAP_SINGLE_ELEMENT_ARRAYS;
         try {
             @($client = new SoapClient($this->server_adress, $soap_client_parameters));
             if (!$client) {
                 return (object) array("error_information" => (object) array("error_code" => 1, "error_string" => $msg["remote_procedures_error_client"]));
             }
             @($result = $client->get_procs($params));
         } catch (Exception $e) {
             return (object) array("error_information" => (object) array("error_code" => 1, "error_string" => $e->getMessage()));
         }
         if ($charset != 'utf-8') {
             if (isset($result->elements)) {
                 if (!is_array($result->elements)) {
                     $result->elements = array($result->elements);
                 }
                 foreach ($result->elements as $index => $aprocedure) {
                     $result->elements[$index]->name = utf8_decode($aprocedure->name);
                     $result->elements[$index]->comment = utf8_decode($aprocedure->comment);
                     $result->elements[$index]->sql = utf8_decode($aprocedure->sql);
                     $result->elements[$index]->params = utf8_decode($aprocedure->params);
                     $result->elements[$index]->current_attached_set = utf8_decode($aprocedure->current_attached_set);
                     if (isset($aprocedure->sets)) {
                         if (!is_array($aprocedure->sets)) {
                             $result->elements[$index]->sets = array($result->elements[$index]->sets);
                         }
                         foreach ($result->elements[$index]->sets as $set_index => $aset) {
                             $result->elements[$index]->sets[$set_index]->set_caption = utf8_decode($result->elements[$index]->sets[$set_index]->set_caption);
                         }
                     }
                 }
             }
         }
     } else {
         $adresse_proxy = false;
         $port_proxy = false;
         $user_proxy = false;
         $pwd_proxy = false;
         if ($pmb_curl_proxy != '') {
             $param_proxy = explode(',', $pmb_curl_proxy);
             $adresse_proxy = $param_proxy[0];
             $port_proxy = $param_proxy[1];
             $user_proxy = $param_proxy[2];
             $pwd_proxy = $param_proxy[3];
         }
         require_once $class_path . "/nusoap/nusoap.php";
         $client = new nusoapclient($this->server_adress, true, $adresse_proxy, $port_proxy, $user_proxy, $pwd_proxy);
         $client->decode_utf8 = $charset != 'utf-8';
         if ($err = $client->getError()) {
             return (object) array("error_information" => (object) array("error_code" => 1, "error_string" => $err));
         }
         $result = $client->call("get_procs", array("parameters" => $params), "http://www.sigb.net/pmb/");
         //Si une seule procédure est renvoyée, soap ne renvoi pas un tableau, et alors elements contient directement une procedure
         //Mais nous voulons un tableau, donc nous devons traiter le cas
         if (isset($result["elements"]["id"])) {
             $result["elements"] = array($result["elements"]);
         }
         $result = $this->array_to_object($result);
         if (isset($result->elements)) {
             foreach ($result->elements as $index => $value) {
                 $result->elements[$index] = $this->array_to_object($result->elements[$index], true);
             }
         }
     }
     return $result;
 }