Les pré-requis techniques pour l'envoi de document à S²LOW sont les suivants :

  • PHP > 5.2.x
  • le module php_curl


La documentation des API disponibles pour S²LOW est accessible sur la forge adullact : Documentations APIs

<?php 
// Url vers la plateforme s2low que vous voulez atteindre $host = 'https://demo-s2low.extranet.adullact.org'; // l'api que vous voulez utiliser $api = $url."/modules/actes/actes_transac_submit.php" // Enveloppe à envoyer à s2low $file = "/var/www/s2low/adl-TACT--123456725--20080624-1.tar.gz";
// la partie x509 du certificat : openssl pkcs12 -in certificat.p12 -out client.pem -clcerts -nokeys define('PEM', './key/client.pem'); // la clé privée du certificat : openssl pkcs12 -in certificat.p12 -out key.pem -nocerts define('SSLKEY', './key/key.pem');
//le certificat du CA : openssl pkcs12 -in certificat.p12 -out ca.pem -cacerts -nokeys define('CA_PATH', './key/'); define('PASSWORD', 'passwd'); // En fonction de l'api que l'on appelle, on doit renseigner le tableau suivant : $data = array('api' => '1', 'enveloppe' => "@$file" ); $ch = curl_init(); // Paramétrage des options curl curl_setopt($ch, CURLOPT_URL, $url); // En cas d'utilisation d'un proxy, on renseigne ici son adresse // curl_setopt($ch, CURLOPT_PROXY, 'x.x.x.x:8080'); curl_setopt($ch, CURLOPT_POST, TRUE); curl_setopt($ch, CURLOPT_POSTFIELDS, $data ); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_CAPATH, CA_PATH); curl_setopt($ch, CURLOPT_SSLCERT, PEM); curl_setopt($ch, CURLOPT_SSLCERTPASSWD, PASSWORD); curl_setopt($ch, CURLOPT_SSLKEY, SSLKEY); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch, CURLOPT_VERBOSE, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$curl_return = curl_exec($ch); if ($curl_return === false) { echo 'KO\nErreur dans le module curl.' . '<br /gt;'; echo 'curl_errno() = ' . curl_errno($ch) . '<br /gt;'; echo 'curl_error() = ' . curl_error($ch) . '<br /gt;'; } else { echo 'Document envoyé<br >'; } curl_close($ch);
?>