<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Zhell - Portfolio de Julien Siwek - Intégrateur / Développeur Web Freelance</title>
	<atom:link href="http://www.zhell.fr/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.zhell.fr</link>
	<description>Un blog utilisant WordPress</description>
	<lastBuildDate>Thu, 02 Sep 2010 10:43:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Focus et Blur sur les formulaires avec jQuery</title>
		<link>http://www.zhell.fr/2010/09/focus-et-blur-sur-les-formulaires-avec-jquery/</link>
		<comments>http://www.zhell.fr/2010/09/focus-et-blur-sur-les-formulaires-avec-jquery/#comments</comments>
		<pubDate>Thu, 02 Sep 2010 10:40:36 +0000</pubDate>
		<dc:creator>Zhell</dc:creator>
				<category><![CDATA[JQuery]]></category>

		<guid isPermaLink="false">http://www.zhell.fr/?p=397</guid>
		<description><![CDATA[Il est souvent utile, pour économiser de la place, de ne pas mettre de label pour les champs d'un formulaire, pour les intégrer directement dans le contenu de l'input...]]></description>
			<content:encoded><![CDATA[<p>Il est souvent utile, pour économiser de la place, de ne pas mettre de label pour les champs d&#8217;un formulaire, pour les intégrer directement dans le contenu de l&#8217;input. Il devient alors obligatoire d&#8217;enlever ce texte lors du focus sur le champ, pour éviter à l&#8217;utilisateur de devoir supprimer ce contenu avant de rentrer ses informations. (et pourquoi pas, remettre la valeur par défaut si rien n&#8217;a été saisi). Cela peut se faire en quelques lignes de jQuery :</p>
<pre class="brush: javascript;">
$('.reset').focus(function(){
if($(this).attr('value') == this.defaultValue) $(this).attr('value', '');
}).blur(function(){
if($.trim(this.value) == '') this.value = (this.defaultValue ? this.defaultValue : '');
});
</pre>
<p>Grâce à ce petit bout de code, les champs possédant la classe .reset, seront vidés lors du focus, et la valeur par défaut sera remise si aucune donnée n&#8217;a été tapée.<br />
(Voir l&#8217;exemple sur le formulaire de recherche de la sidebar -&gt;)</p>
<p>Simple, et efficace !</p>
<p>NB : Cela marche aussi sur les <strong>textarea</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.zhell.fr/2010/09/focus-et-blur-sur-les-formulaires-avec-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Numericable</title>
		<link>http://www.zhell.fr/2010/08/numericable/</link>
		<comments>http://www.zhell.fr/2010/08/numericable/#comments</comments>
		<pubDate>Wed, 25 Aug 2010 11:38:10 +0000</pubDate>
		<dc:creator>Zhell</dc:creator>
				<category><![CDATA[Portfolio]]></category>

		<guid isPermaLink="false">http://www.zhell.fr/?p=372</guid>
		<description><![CDATA[

Numericable
Intégration from scratch de l&#8217;ensemble des pages et newsletters, et développement front office avec jQuery (onglets, google maps, agendas, carousels&#8230;)
Visiter le site : http://offres.numericable.fr

]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-362" title="numericable" src="http://www.zhell.fr/zhell/wp-content/uploads/2010/08/numericable_full.jpg" alt="numericable_full" width="450" height="150" /></p>
<div class="desc">
<h3>Numericable</h3>
<p>Intégration from scratch de l&#8217;ensemble des pages et newsletters, et développement front office avec jQuery (onglets, google maps, agendas, carousels&#8230;)</p>
<p class="link">Visiter le site : <a href="http://offres.numericable.fr">http://offres.numericable.fr</a></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.zhell.fr/2010/08/numericable/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ParisTech Review</title>
		<link>http://www.zhell.fr/2010/08/paristech-review/</link>
		<comments>http://www.zhell.fr/2010/08/paristech-review/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 10:11:52 +0000</pubDate>
		<dc:creator>Zhell</dc:creator>
				<category><![CDATA[Portfolio]]></category>

		<guid isPermaLink="false">http://www.zhell.fr/?p=382</guid>
		<description><![CDATA[

ParisTech Review
Intégration from scratch de l&#8217;ensemble des pages et newsletters, et développement front office avec jQuery.
Visiter le site : http://www.paristechreview.com

]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-362" title="PTR" src="http://www.zhell.fr/zhell/wp-content/uploads/2010/09/ptr_full.jpg" alt="ParisTech Review" width="450" height="150" /></p>
<div class="desc">
<h3>ParisTech Review</h3>
<p>Intégration from scratch de l&#8217;ensemble des pages et newsletters, et développement front office avec jQuery.</p>
<p class="link">Visiter le site : <a href="http://www.paristechreview.com">http://www.paristechreview.com</a></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.zhell.fr/2010/08/paristech-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Entremont</title>
		<link>http://www.zhell.fr/2010/05/entremont/</link>
		<comments>http://www.zhell.fr/2010/05/entremont/#comments</comments>
		<pubDate>Fri, 07 May 2010 13:23:10 +0000</pubDate>
		<dc:creator>Zhell</dc:creator>
				<category><![CDATA[Portfolio]]></category>

		<guid isPermaLink="false">http://www.zhell.fr/?p=358</guid>
		<description><![CDATA[

Entremont
Intégration et développement complet (jeux concours, site marque&#8230;)
Visiter le site : http://www.entremont.fr

]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-362" title="entremont_full" src="http://www.zhell.fr/zhell/wp-content/uploads/2010/05/entremont_full.jpg" alt="entremont_full" width="450" height="150" /></p>
<div class="desc">
<h3>Entremont</h3>
<p>Intégration et développement complet (jeux concours, site marque&#8230;)</p>
<p class="link">Visiter le site : <a href="http://www.entremont.fr">http://www.entremont.fr</a></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.zhell.fr/2010/05/entremont/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Montruc Gerlinéa</title>
		<link>http://www.zhell.fr/2010/04/montruc-gerlinea/</link>
		<comments>http://www.zhell.fr/2010/04/montruc-gerlinea/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 08:29:52 +0000</pubDate>
		<dc:creator>Zhell</dc:creator>
				<category><![CDATA[Portfolio]]></category>

		<guid isPermaLink="false">http://www.zhell.fr/?p=342</guid>
		<description><![CDATA[

Montruc Gerlinéa
Intégration et développement complet (espace membre, ajout de recettes par les utilisateurs, ajout de commentaires, impression de webcoupons&#8230;)
Visiter le site : http://www.montrucgerlinea.fr

]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-132" title="full_crt" src="http://www.zhell.fr/zhell/wp-content/uploads/2010/04/gerlinea_full.jpg" alt="full_crt" width="450" height="150" /></p>
<div class="desc">
<h3>Montruc Gerlinéa</h3>
<p>Intégration et développement complet (espace membre, ajout de recettes par les utilisateurs, ajout de commentaires, impression de webcoupons&#8230;)</p>
<p class="link">Visiter le site : <a href="http://www.montrucgerlinea.fr">http://www.montrucgerlinea.fr</a></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.zhell.fr/2010/04/montruc-gerlinea/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Envoi de mails en PHP avec phpmailer</title>
		<link>http://www.zhell.fr/2009/09/envoi-de-mails-en-php-avec-phpmailer/</link>
		<comments>http://www.zhell.fr/2009/09/envoi-de-mails-en-php-avec-phpmailer/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 14:46:30 +0000</pubDate>
		<dc:creator>Zhell</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.zhell.fr/?p=302</guid>
		<description><![CDATA[Il s'agit comme son nom l'indique d'une classe php permettant de l'envoi d'emails de manière très simplifiée]]></description>
			<content:encoded><![CDATA[<p>Pour ceux qui ne connaitraient pas encore cette classe (très !) pratique, il s&#8217;agit comme son nom l&#8217;indique d&#8217;une classe php permettant de l&#8217;envoi d&#8217;emails de manière très simplifiée. On peut utiliser le serveur SMPT afin d&#8217;envoyer des emails, ou simplement avec la fonction mail de PHP. Nous allons voir comment utiliser cette classe pour envoyer un mail au format HTML avec la fonction mail de PHP.</p>
<p>Il faut donc commencer par télécharger <a href="http://phpmailer.worxware.com/">la classe phpmailer</a> (de préférence la version pour php5/6).</p>
<p>Il faut ensuite inclure cette classe dans notre fichier php servant à envoyer<br />
notre email :</p>
<pre class="brush: php;">
// Pensez à préciser l'endroit ou est stockée votre classe
require_once 'inc/classes/class.phpmailer.php';
</pre>
<p>On crée ensuite notre objet PHPMailer, puis on définit l&#8217;expéditeur, le sujet, le message (au format HTML donc), ainsi que le destinataire :</p>
<pre class="brush: php;">
$mail = new PHPMailer();
$mail-&gt;IsHTML(true); // Email au format HTML
$mail-&gt;From = &quot;adresse.de@lexpediteur&quot;;
$mail-&gt;FromName = &quot;Nom du l'expediteur&quot;;
$mail-&gt;Subject = &quot;Sujet du mail&quot;;
$mail-&gt;MsgHTML('&lt;html&gt;&lt;body&gt;Contenu de votre message au &lt;strong&gt;format HTML&lt;/strong&gt;&lt;/body&gt;&lt;/html&gt;');
$mail-&gt;AddAddress(&quot;adresse.du@destinataire&quot;); // Vous pouvez donc ajouter plusieurs destinatiares
</pre>
<p>Il nous reste alors plus qu&#8217;à envoyer l&#8217;email en vérifiant que tout se passe bien :</p>
<pre class="brush: php;">
if($mail-&gt;Send())
echo &quot;Message envoyé&quot;;
else
echo &quot;Erreur lors de l'envoi&quot;;
</pre>
<p>Vous pouvez ensuite ajouter des pièces jointes (AddAttachment()) ou des destinataires en copie. Vous pouvez accéder aux <a href="http://phpmailer.worxware.com/index.php?pg=methods">différentes méthodes sur le site officiel</a>.</p>
<p><strong>Petite note</strong> si vous souhaitez envoyer des emails en UTF8, pensez à encoder votre fichier php en UTF-8, à préciser l&#8217;encodage pour php mailer, et rajouter le meta correspondant dans votre message HTML :</p>
<pre class="brush: php;">
$mail-&gt;CharSet = 'utf-8'; // Précision sur l'encodage pour phpmailer
$mail-&gt;MsgHTML('&lt;html&gt;&lt;head&gt;&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;&lt;/head&gt;&lt;body&gt;Contenu de votre message au &lt;strong&gt;format HTML&lt;/strong&gt;&lt;/body&gt;&lt;/html&gt;'); // Précision de l'encodage du mail
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.zhell.fr/2009/09/envoi-de-mails-en-php-avec-phpmailer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mise en ligne Wordpress &#8211; le SQL</title>
		<link>http://www.zhell.fr/2009/07/mise-en-ligne-wordpress-le-sql/</link>
		<comments>http://www.zhell.fr/2009/07/mise-en-ligne-wordpress-le-sql/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 23:52:20 +0000</pubDate>
		<dc:creator>Zhell</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.zhell.fr/?p=277</guid>
		<description><![CDATA[Comme c'est souvent le cas, on développe et commence à remplir un site sous Wordpress en local avant de procéder à la mise en ligne]]></description>
			<content:encoded><![CDATA[<p>Comme c&#8217;est souvent le cas, on développe et commence à remplir un site sous Wordpress en local avant de procéder à la mise en ligne. On publie en effet rarement un site vide qu&#8217;on enrichira par la suite, on fixe une base.</p>
<p>Lors du passage en ligne, il est possible d&#8217;utiliser la fonction fort pratique &#8216;export de Wordpress afin de passer tout le contenu du local vers la production. Cependant, il est parfois nécessaire d&#8217;exporter toute la base pour garder les bons id de pages, de catégories, etc&#8230;</p>
<p>Il suffit dans ce cas de passer tous les fichiers sur le serveur, de supprimer le fichier wp-config.php à la racine de Wordpress pour pouvoir en recréer un nouveau directement dans le navigateur avec les identifiants de base de données de votre hébergement.</p>
<p>Il faut ensuite copier l&#8217;intégralité de la base de données. Cependant on remarquera que les liens des images, des posts, etc&#8230; ne correspondent plus. Il faut donc modifier tout ça pour rendre Wordpress complètement fonctionnel. Connextez vous à votre phpmyadmin (ou autre) afin d&#8217;effectuer quelques reqêtes SQL pour modifier les chemins absolus enregistrés par Wordpress en local, ce qui donne ceci :</p>
<pre class="brush: sql;">
UPDATE wp_options SET option_value = replace(option_value, 'http://www.oldsite.com', 'http://www.newsite.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'http://www.oldsite.com','http://www.newsite.com');
UPDATE wp_posts SET post_content = replace(post_content, 'http://www.oldsite.com', 'http://www.newsite.com');
</pre>
<p>Il suffit maintenant de remplacer le oldsite et newsite de ces requêtes par vos propres url, et le tour est joué !<br />
Attention cependant, cela ne modifie pas les champs cachés (pouvant servir de vignettes aux posts par exemple, il faudra donc peut être les changer selon ce que vous avez mis en place).</p>
<p>Il sera de plus peut être nécessaire de jetter un oeil dans Réglages -&gt; Divers pour vérifier que le dossier de stockage des uploads est bien fixé à &laquo;&nbsp;wp-content/uploads&raquo;&nbsp;, sans quoi vos uploads de fichiers risquent de ne plus marcher !</p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 255px; width: 1px; height: 1px;">UPDATE wp_options SET option_value = replace(option_value, &#8216;http://www.oldsite.com&#8217;, &#8216;http://www.newsite.com&#8217;) WHERE option_name = &#8216;home&#8217; OR option_name = &#8217;siteurl&#8217;;<br />
UPDATE wp_posts SET guid = replace(guid, &#8216;http://www.oldsite.com&#8217;,'http://www.newsite.com&#8217;);<br />
UPDATE wp_posts SET post_content = replace(post_content, &#8216;http://www.oldsite.com&#8217;, &#8216;http://www.newsite.com&#8217;);</div>
]]></content:encoded>
			<wfw:commentRss>http://www.zhell.fr/2009/07/mise-en-ligne-wordpress-le-sql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Changer le préfixe de table Wordpress</title>
		<link>http://www.zhell.fr/2009/07/changer-le-prefixe-de-table-wordpress/</link>
		<comments>http://www.zhell.fr/2009/07/changer-le-prefixe-de-table-wordpress/#comments</comments>
		<pubDate>Thu, 16 Jul 2009 09:59:40 +0000</pubDate>
		<dc:creator>Zhell</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.zhell.fr/?p=264</guid>
		<description><![CDATA[Une fois Wordpress installé avec l'extension de base "wp_", il est possible qu'il faille changer ce préfixe pour une quelconque raison]]></description>
			<content:encoded><![CDATA[<p>Même si cela peut paraître extrêmement simple grâce à la simplicité de Wordpress, cela ne l&#8217;est finalement pas autant que ça. Une fois Wordpress installé avec l&#8217;extension de base &laquo;&nbsp;wp_&raquo;&nbsp;, il est possible qu&#8217;il faille changer ce préfixe pour une quelconque raison (protéger son site d&#8217;attaques éventuelles par exemple?).</p>
<p>C&#8217;est un petit peu plus compliqué que simplement changer le préfixe des tables dans phpMyAdmin et le wp-config.php, voici donc les étapes à suivre, pour changer le préfixe &laquo;&nbsp;wp_&raquo;&nbsp;  par &laquo;&nbsp;new_&raquo;&nbsp;  :</p>
<ol>
<li>Changer le préfixe de table dans le fichier de configuration de Wordpress (wp-config.php à la racine).
<pre class="brush: php; highlight: [1];">
$table_prefix  = 'new_';
</pre>
</li>
<li>Renommer l&#8217;ensemble des tables avec le nouveau préfixe (wp_options devient alors new_options)</li>
<li>Le dernier point, qui ne vient pas forcément à l&#8217;esprit, est de changer certaines valeurs dans la table new_options (anciennement wp_options) et new_usermeta. En effet certaines valeurs dépendent du préfixe de table et doivent être changés :<br />
- Dans new_options, changer <strong>wp_user_roles</strong> en <strong>new_user_roles</strong>.<br />
- Dans new_usermeta, changer <strong>wp_capabilities</strong> en <strong>new_capabilities</strong>,<strong> wp_user_level</strong> en <strong>new_user_level</strong>, et <strong>wp_autosave_draft_ids</strong> en <strong>new_autosave_draft_ids</strong></p>
<p>(Cette option n&#8217;est pas forcément présente, elle l&#8217;est uniquement si vous avez sauvegardé des brouillons lors de vos éditions de post).</li>
</ol>
<p>Voilà pour le changement de préfixe !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zhell.fr/2009/07/changer-le-prefixe-de-table-wordpress/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Espacements verticaux entre li sous IE</title>
		<link>http://www.zhell.fr/2009/07/espacements-verticaux-entre-li-sous-ie/</link>
		<comments>http://www.zhell.fr/2009/07/espacements-verticaux-entre-li-sous-ie/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 10:37:24 +0000</pubDate>
		<dc:creator>Zhell</dc:creator>
				<category><![CDATA[xHTML / CSS]]></category>

		<guid isPermaLink="false">http://www.zhell.fr/?p=260</guid>
		<description><![CDATA[Vous avez sans doute déjà passé un certain temps à essayer d'enlever un horrible espace blanc entre les éléments d'une liste sous Internet Explorer...]]></description>
			<content:encoded><![CDATA[<p>Vous avez sans doute déjà passé un certain temps à essayer d&#8217;enlever un horrible espace blanc entre les éléments d&#8217;une liste sous Internet Explorer. Encore un bug du célèbre navigateur assez dérangeant. Afin de remédier à cela, il existe plusieurs solutions plus ou moins efficaces et ou fastidieuses à mettre en place.</p>
<p>Le problème provient de l&#8217;indentation du code qui est mal interprété par IE. Une solution simple (mais vraiment fastidieuse) consiste à enlever l&#8217;ensemble de ces indentations. Une jolie liste bien indentée comme cela :</p>
<pre class="brush: html;">
&lt;ul&gt;
&lt;li&gt;Element 1&lt;/li&gt;
&lt;li&gt;Element 2&lt;/li&gt;
&lt;li&gt;Element 3&lt;/li&gt;
&lt;/ul&gt;
</pre>
<p>deviendrait au final :</p>
<pre class="brush: html;">
&lt;ul&gt;&lt;li&gt;Element 1&lt;/li&gt;&lt;li&gt;Element 2&lt;/li&gt;&lt;li&gt;Element 3&lt;/li&gt;&lt;/ul&gt;
</pre>
<p>C&#8217;est assez imbuvable vous en conviendrez. On peut aussi commenter entre chaque élément, mais cela n&#8217;améliore pas forcément la lisibilité non plus :</p>
<pre class="brush: html;">
&lt;ul&gt;&lt;!--
--&gt;&lt;li&gt;Element 1&lt;/li&gt;&lt;!--
--&gt;&lt;li&gt;Element 2&lt;/li&gt;&lt;!--
--&gt;&lt;li&gt;Element 3&lt;/li&gt;&lt;!--
--&gt;&lt;/ul&gt;
</pre>
<p>Il existe une solution purement CSS, plus propre. Il s&#8217;agit de floater les éléments de la liste (il faudra bien entendu s&#8217;assurer que les</p>
<li> s&#8217;adaptent à la taille du conteneur pour ne pas avoir de surprise.). Pour éviter la perte de flux habituelle liée à la propriété float, il faut récupérer le flux en floatant le conteneur ou en appliquant le petit combo du overflow:hidden, avec une hauteur et largeur différente de auto. On obtient donc ceci côté CSS :
<pre class="brush: css;">
ul{
width:200px;
overflow:hidden;
}

li{
width:100%;
float:left;
}
</pre>
<p>Courage !</li>
]]></content:encoded>
			<wfw:commentRss>http://www.zhell.fr/2009/07/espacements-verticaux-entre-li-sous-ie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Utiliser des Webservices en PHP : nuSOAP</title>
		<link>http://www.zhell.fr/2009/07/utiliser-des-webservices-en-php-nusoap/</link>
		<comments>http://www.zhell.fr/2009/07/utiliser-des-webservices-en-php-nusoap/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 10:13:09 +0000</pubDate>
		<dc:creator>Zhell</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.zhell.fr/?p=243</guid>
		<description><![CDATA[J'ai très récemment dû utiliser un webservice développé en .NET afin d'interagir avec un serveur gérant l'ensemble des données clients de plusieurs grandes marques...]]></description>
			<content:encoded><![CDATA[<p>J&#8217;ai très récemment dû utiliser un webservice développé en .NET afin d&#8217;interagir avec un serveur gérant l&#8217;ensemble des données clients de plusieurs grandes marques. En fouillant un peu sur la toile à la recherche d&#8217;infos sur l&#8217;utilisation d&#8217;un tel Webservice en PHP, je suis tombé sur la librairie nuSOAP.</p>
<p>N&#8217;ayant pas la totale liberté sur le serveur et ne pouvant pas forcément utiliser les dernières classes PHP5 pour l&#8217;utilisation de SOAP, j&#8217;ai donc simplement installé cette librairie et commencé mes tests. Il se trouve que la récupération et l&#8217;envoi de données au serveur se trouve réellement simplifié avec cette librairie.</p>
<p>Une fois téléchargée puis installée (il suffit de copier le dossier lib sur votre serveur), il suffit d&#8217;inclure nusoap.php et commencer à interroger le serveur. Voici ce que ça peut donner sur un exemple minimaliste :</p>
<pre class="brush: php;">
require_once('classes/nusoap/nusoap.php');
$clientSOAP = new soapclient('http://adresse-du-webservice.asmx');

// Appel de la fonction GetAllCountries
$result = $clientSOAP-&gt;call('GetAllCountries');
</pre>
<p>L&#8217;appel à la fonction GetAllCountries nous renvoie une chaîne que l&#8217;on doit parser en XML afin d&#8217;en récupérer les données. Il est possible qu&#8217;il faille préciser au client SOAP d&#8217;utiliser <acronym title="Web Services Description Language">WSDL</acronym>, il suffit dans ce cas de modifier le constructeur en ajoutant &laquo;&nbsp;true&raquo;&nbsp; comme second paramètre et &laquo;&nbsp;?WSDL&raquo;&nbsp; à la fin de l&#8217;adresse comme ceci :</p>
<pre class="brush: php; highlight: [2];">
require_once('classes/nusoap/nusoap.php');
$clientSOAP = new soapclient('http://adresse-du-webservice.asmx?WSDL', true);

// Appel de la fonction GetAllCountries
$result = $clientSOAP-&gt;call('GetAllCountries');
</pre>
<p>Une fois la réponse serveur récupérée, on peut donc la parser, en utilisant par exemple simpleXML, que l&#8217;on pourra parcourir simplement afin de récupérer les données voulues :</p>
<pre class="brush: php; first-line: 6;">
$xml = simplexml_load_string($result['GetAllCountriesResult']);
</pre>
<p>Afin de pouvoir passer simplement des paramètres au webservice, il suffit de rajouter un tableau en tant que paramètre lors de l&#8217;appel de la méthode call :</p>
<pre class="brush: php;">
$result = $clientSOAP-&gt;call('GetUserId', array(
'login'		=&gt; $email,
'password'	=&gt; $pass
));
</pre>
</pre>
<p>Voilà pour la base de l'utilisation de nuSOAP !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zhell.fr/2009/07/utiliser-des-webservices-en-php-nusoap/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
