<?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>Autre-Chose &#187; PHP</title>
	<atom:link href="http://blog.autre-chose.org/tag/php/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.autre-chose.org</link>
	<description>-- Parce que vous êtes libres</description>
	<lastBuildDate>Mon, 29 Nov 2010 17:16:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<cloud domain='blog.autre-chose.org' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com" />
	<atom:link rel="hub" href="http://superfeedr.com/hubbub" />
			<item>
		<title>Go PHP5 !</title>
		<link>http://blog.autre-chose.org/2008/02/05/go-php5?utm_source=subscriber&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://blog.autre-chose.org/2008/02/05/go-php5#comments</comments>
		<pubDate>Tue, 05 Feb 2008 15:15:08 +0000</pubDate>
		<dc:creator>mdupuis</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blog.autre-chose.org/2008/02/05/go-php5/</guid>
		<description><![CDATA[J&#8217;en ai parlé il y a de ça quelques temps et c&#8217;est aujourd&#8217;hui que ça arrive. Depuis 1:00 ce matin, GMT-5, l&#8217;initiative GoPHP5 prend vie. Ça veut donc dire que plus de 100 projets logiciels et 200 hébergeurs se sont joints à l&#8217;initiative pour supporter l&#8217;adoption de PHP 5.2. En espérant que plusieurs hébergeurs suivent [...]]]></description>
			<content:encoded><![CDATA[<p>J&#8217;en <a href="http://blog.autre-chose.org/2007/07/13/php4-est-mort-longue-vie-a-php/">ai parlé</a> il y a de ça quelques temps et c&#8217;est aujourd&#8217;hui que ça arrive. Depuis 1:00 ce matin, GMT-5, l&#8217;initiative <a href="http://gophp5.org">GoPHP5</a> prend vie. Ça veut donc dire que <em>plus de 100 projets logiciels et 200 hébergeurs se sont joints à l&#8217;initiative pour supporter l&#8217;adoption de PHP 5.2</em>. En espérant que plusieurs hébergeurs suivent l&#8217;exemple dans les semaines à venir.</p>
<p>Je ne suis pas tellement contre l&#8217;idée que plusieurs projets n&#8217;étant plus en développement ne soient plus supportés chez les hébergeurs. La majorité des projets ont leur code source disponible, ce qui fait qu&#8217;ils sont modifiables par quiconque, selon la licence sous laquelle ils sont publiés respectivement. Donc, ils peuvent être repris en main par quiconque s&#8217;intéresse au projet et être porté à PHP 5.2 sans problème.</p>
<p>PHP 4 est mort, longue vie à PHP !</p>
 <img src="http://blog.autre-chose.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=210" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.autre-chose.org/2008/02/05/go-php5/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP4 est mort, longue vie à PHP</title>
		<link>http://blog.autre-chose.org/2007/07/13/php4-est-mort-longue-vie-a-php?utm_source=subscriber&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://blog.autre-chose.org/2007/07/13/php4-est-mort-longue-vie-a-php#comments</comments>
		<pubDate>Sat, 14 Jul 2007 03:21:18 +0000</pubDate>
		<dc:creator>mdupuis</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Site5]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://localhost/~mdupuis/blog/?p=192</guid>
		<description><![CDATA[Trois ans après la venue de PHP5 (sortie à l&#8217;occasion de la conférence PHP Québec, soit dit en passant), PHP.net a fait l&#8217;annonce aujourd&#8217;hui que l&#8217;équipe allait discontinuer la branche 4.x à partir du 1er janvier 2008. Certaines modifications seront faites à des fins de sécurité jusqu&#8217;au 8 août 2008, en cas par cas. Bref [...]]]></description>
			<content:encoded><![CDATA[<p>Trois ans après la venue de PHP5 (sortie à l&#8217;occasion de la conférence PHP Québec, soit dit en passant), PHP.net a fait l&#8217;annonce aujourd&#8217;hui que l&#8217;équipe allait discontinuer la branche 4.x à partir du 1er janvier 2008. Certaines modifications seront faites à des fins de sécurité jusqu&#8217;au 8 août 2008, en cas par cas. Bref : ce ne seront pas tous les bugs qui seront rectifiés. Seulement ceux prioritaires.</p>
<p>Pour ceux n&#8217;ayant pas encore fait la migration, des guides sont disponibles : <a href="http://www.php.net/manual/en/migration5.php">Migration PHP5</a>, mais aussi <a href="http://www.php.net/manual/en/migration51.php">de PHP5.0 à PHP5.1</a> et <a href="http://www.php.net/manual/en/migration52.php">de PHP5.1 à PHP5.2</a>. De plus, il n&#8217;est vraiment pas difficile de trouver des ressources en cherchant un peu. Souvenez-vous aussi que la documentation officielle est votre meilleure amie.</p>
<p>L&#8217;annonce tombe à poil puisqu&#8217;il y a environ une semaine, l&#8217;initiative <a href="http://gophp5.org/">GoPHP5</a> visant à éradiquer (c&#8217;est un peu fort comme terme) PHP4 des différents services d&#8217;hébergement Web en incitant les différents hébergeurs à enlever PHP4 de leurs services offerts et en incitant aussi les différents projets à ne garantir aucun support si ceux-ci venaient à bugger s&#8217;ils étaient exécutés à partir d&#8217;environnement en de ça de PHP5.0.</p>
<p>L&#8217;initiative est bonne, très bonne. Et le temps est là ; 5 février 2008 est la date limite. Malheureusement, aucune manifestation de mon hébergeur ni de WordPress ni bbPress, plateformes qui supportent le blogue et le forum d&#8217;Autre-Chose. Advenant le cas où Site5 (je sais&#8230; pas de lien vers eux&#8230;) décidait de ne pas participer à l&#8217;initiative, je vais changer d&#8217;hébergeur un mois avant la date limite. Malgré les problèmes que je pourrais avoir et l&#8217;offre de PHP5 (suffit de quelques lignes au fichier .htaccess après tout).</p>
<p>Idem pour WordPress et bbPress. Ça fait longtemps que j&#8217;exprime de façon plus ou moins explicite (sur internet du moins) mon désire de changer de plateforme. Matt de WordPress n&#8217;exprime aucun sentiment positif à l&#8217;égard de GoPHP5 et va même jusqu&#8217;à l&#8217;en blâmer ainsi que critiquer tous les projets inscrits sur le site. Raison de plus pour changer lorsque ce que tu utilises ne rejoint en aucun cas tes valeurs.</p>
 <img src="http://blog.autre-chose.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=192" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.autre-chose.org/2007/07/13/php4-est-mort-longue-vie-a-php/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Gagnant du connecteur USB-IDE</title>
		<link>http://blog.autre-chose.org/2006/08/05/gagnant-du-connecteur-usb-ide?utm_source=subscriber&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://blog.autre-chose.org/2006/08/05/gagnant-du-connecteur-usb-ide#comments</comments>
		<pubDate>Sat, 05 Aug 2006 16:00:17 +0000</pubDate>
		<dc:creator>mdupuis</dc:creator>
				<category><![CDATA[Personnel]]></category>
		<category><![CDATA[À donner]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://localhost/~mdupuis/blog/?p=147</guid>
		<description><![CDATA[J&#8217;ai finalement pris la décision de faire tirer mon connecteur USB-IDE aujourd&#8217;hui même. Comme il n&#8217;y avait que 3 personnes, je n&#8217;ai pas accepté les inscriptions multiples. Désolé Jean-François. Aussi, comme le taux de participation était relativement faible, j&#8217;ai pris l&#8217;initiative d&#8217;exclure les participants jusqu&#8217;à ce qu&#8217;il n&#8217;en reste plus qu&#8217;un dans la liste. Voici [...]]]></description>
			<content:encoded><![CDATA[<p>J&#8217;ai finalement pris la décision de faire tirer mon connecteur USB-IDE aujourd&#8217;hui même. Comme il n&#8217;y avait que 3 personnes, je n&#8217;ai pas accepté les inscriptions multiples. Désolé Jean-François. Aussi, comme le taux de participation était relativement faible, j&#8217;ai pris l&#8217;initiative d&#8217;exclure les participants jusqu&#8217;à ce qu&#8217;il n&#8217;en reste plus qu&#8217;un dans la liste. Voici l&#8217;algorithme utilisé :</p>
<blockquote><pre>
< ?php
$participants = array('Jean-François','Stéphane','Martin');

while(array_key_exists(1, $participants)){
	shuffle($participants);
	echo 'Désolé ',array_pop($participants),"\r\n";
}

echo 'Le gagnant est : ',$participants[0],'. Félicitations !';
?>
</pre>
</blockquote>
<p>Relativement simple. Le code ne prouve en aucun cas mes talents, mais je le divulgue pour vous prouvez que tout le monde a eu une chance égale. Sans plus tarder, voici la sortie générée :</p>
<blockquote><pre>
Désolé Jean-François
Désolé Martin
Le gagnant est : Stéphane. Félicitations !
</pre>
</blockquote>
<p>Et pour vous prouver que tout ceci est vraiment aléatoire (pseudo-aléatoire, mais n&#8217;entrons pas dans les détails <img src='http://blog.autre-chose.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ), visitez <a href="http://www.autre-chose.org/tirage.php">http://www.autre-chose.org/tirage.php</a> pour obtenir une autre sortie aléatoire.</p>
<p>Encore une fois, mes félicitations à Stéphane !</p>
 <img src="http://blog.autre-chose.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=147" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.autre-chose.org/2006/08/05/gagnant-du-connecteur-usb-ide/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Plugiciel WordPress &#8211; Blogue parallèle</title>
		<link>http://blog.autre-chose.org/2006/04/25/plugiciel-wordpress-blogue-parallele?utm_source=subscriber&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://blog.autre-chose.org/2006/04/25/plugiciel-wordpress-blogue-parallele#comments</comments>
		<pubDate>Wed, 26 Apr 2006 04:47:21 +0000</pubDate>
		<dc:creator>mdupuis</dc:creator>
				<category><![CDATA[Programmation]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plugiciel]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://localhost/~mdupuis/blog/?p=116</guid>
		<description><![CDATA[Décidément, j&#8217;aime le terme &#8220;blogue parallèle&#8221;. Voilà maintenant 2 jours que j&#8217;ai installé le miens, mais dans lequel je n&#8217;écrivais rien pour quelques raisons. Je me suis servi comme plugiciel de base celui confectionné par Kates Gasis, mais trouvais qu&#8217;il y avait quelques défauts/manques. Je sais que l&#8217;auteure demande qu&#8217;on lui soumette des suggestions, mais [...]]]></description>
			<content:encoded><![CDATA[<p>Décidément, j&#8217;aime le terme &#8220;blogue parallèle&#8221;. Voilà maintenant 2 jours que j&#8217;ai installé le miens, mais dans lequel je n&#8217;écrivais rien pour quelques raisons. Je me suis servi comme <a href="http://katesgasis.com/2005/10/24/sideblog/">plugiciel de base</a> celui confectionné par <a href="http://katesgasis.com/">Kates Gasis</a>, mais trouvais qu&#8217;il y avait quelques défauts/manques. Je sais que l&#8217;auteure demande qu&#8217;on lui soumette des suggestions, mais mon manque de temps et (oh merci société d&#8217;aujourd&#8217;hui) ma soif d&#8217;avoir instantanément on fait que j&#8217;ai pris quelques heures de mon temps pour fixer ce que j&#8217;avais besoin.<span id="more-116"></span></p>
<p>D&#8217;abord, le plugiciel original ne permettait que d&#8217;afficher les titres des billets avec leur contenu et la possibilité d&#8217;afficher un lien menant à l&#8217;article. Comme je ne voulais pas avoir le contenu et seulement le lien vers les billets en tant que tel, j&#8217;ai dû modifier.</p>
<p>Ensuite, comme je trouvais que les billets que le blogue parallèle allait contenir ne seraient pas nécessaires ni très pertinant à ceux qui <a href="http://yansanmo.no-ip.org/">prennent mon fil rss</a> (désolé Yan, t&#8217;es le seul que je connaisse), j&#8217;ai décidé de ne pas inclure ces billets dans mes fils RSS et ATOM. Vu le manque de documentation auquel j&#8217;ai dû faire face, voici comment j&#8217;ai procédé :</p>
<p>Tout le monde programmant des plugiciels pour WordPress le sait, ce dernier permet d&#8217;étendre ses fonctionnalités à l&#8217;aide de &#8220;hooks&#8221;. D&#8217;abord je me suis dit d&#8217;aller voir <a href="http://wphooks.flatearth.org/">le site que j&#8217;ai trouvé jadis</a> où beaucoup de ces hooks sont décris. À mon grand regret, après plusieurs minutes, je n&#8217;ai pus trouver de hook qui serait utile pour accomplir ma tâche.</p>
<p>J&#8217;ai donc été fouiller dans les différents fichiers sources de WordPress afin de pouvoir mieux me renseigner, mais en vain. Puis, j&#8217;ai regardé attentivement la source d&#8217;un autre plugiciel pour m&#8217;apercevoir que celui-ci utilisait le hook &#8216;posts_where&#8217; afin de masquer certains billets sous certaines conditions. J&#8217;ai donc joué avec ce hook jusqu&#8217;à ce que j&#8217;aboutisse.</p>
<p>Voici le code :</p>
<pre>
function sideblog_where($query) {
	global $cat_to_hide, $show_in_feed, $wpdb;

	$now = current_time('mysql');
	if(is_home()){
		return $query . " AND category_id &lt;&gt; " . $cat_to_hide . ' ';
	}
	if(!$show_in_feed &amp;&amp; is_feed()){
		return $query . " AND ID NOT IN (SELECT post_id FROM $wpdb-&gt;post2cat WHERE category_id = $cat_to_hide)";
	}
	return $query;
}

add_filter('posts_where','sideblog_where',10);</pre>
<p>Explications :</p>
<ul>
<li><em>add_filter</em> permet à WordPress d&#8217;appeler ma fonction &#8220;sideblog_where&#8221; lorsque le hook &#8220;posts_where&#8221; est appelé, soit lorsque WordPress fait une requête de sélection des billets. C&#8217;est par lui que l&#8217;on peut redéfinir la requête SQL depuis &#8220;WHERE&#8221;.</li>
<li><em>sideblog_where()</em> prend un paramètre et le retourne. Ce paramètre, c&#8217;est la requête SQL. C&#8217;est donc ce paramètre en particulier qu&#8217;il faudra modifier à l&#8217;intérieur de notre fonction.</li>
<li><em>if(!$show_in_feed &amp;&amp; is_feed())</em> se divise en deux :
<ol>
<li>si <em>$show_in_feed</em> est <u>équivalent</u> à <em>false</em>, c&#8217;est que j&#8217;ai décidé dans la configuration de mon plugiciel que je ne voulais pas inclure les billets du blogue parallèle dans les fils RSS et ATOM.</li>
<li><em>is_feed()</em> est une fonction de WordPress qui permet de savoir si celui-ci est entrain de générer un fil RSS <u>ou</u> ATOM.</li>
</ol>
<p>Ceci dit, si les 2 conditions sont vraies, il faut modifier notre requête, ce que je fais. Je n&#8217;irai pas expliquer la requête, car je crois que le langage SQL est assez explicite en soi et que là n&#8217;est pas le but de ce billet.</li>
</ul>
<p>Ce n&#8217;était que ça ! Mais encore faut-il le savoir. Maintenant, je le sais et vous aussi ! Peut-être devrais-je contribuer au site ci-haut expliquant les hooks.</p>
<p>Finalement, je distribue les modifications du plugiciel pour votre usage personnel et votre plus grand plaisir ! C&#8217;est par <a href="http://blog.autre-chose.org/projets/php/wordpress/blogue-parallele-plugiciel/">ici</a></p>
 <img src="http://blog.autre-chose.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=116" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.autre-chose.org/2006/04/25/plugiciel-wordpress-blogue-parallele/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MAgenda, version 0.1</title>
		<link>http://blog.autre-chose.org/2006/04/04/magenda-version-01?utm_source=subscriber&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://blog.autre-chose.org/2006/04/04/magenda-version-01#comments</comments>
		<pubDate>Tue, 04 Apr 2006 21:34:21 +0000</pubDate>
		<dc:creator>mdupuis</dc:creator>
				<category><![CDATA[Personnel]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://localhost/~mdupuis/blog/?p=110</guid>
		<description><![CDATA[Ça y est, je viens de me rappeler que je m&#8217;étais donné comme mandat de distribuer le code source de mon application MAgenda. Voici une petite description : MAgenda est un projet réalisé dans le cadre de mon deuxième cours de développement Web au Cégep de Drummondville. Le programme est un service d&#8217;agenda en ligne [...]]]></description>
			<content:encoded><![CDATA[<p>Ça y est, je viens de me rappeler que je m&#8217;étais donné comme mandat de distribuer le code source de mon application MAgenda. Voici une petite description :</p>
<p>MAgenda est un projet réalisé dans le cadre de mon deuxième cours de développement Web au Cégep de Drummondville. Le programme est un service d&#8217;agenda en ligne et est accessible à tout le monde. Voici quelques unes de ses spécifications :</p>
<ul>
<li>Utilisation de PHP5</li>
<li>Utilisation de PDO comme classe d&#8217;abstration de BD</li>
<li>Stockage des données dans une base SQLite3</li>
<li>Code principalement orienté objet</li>
<li>Utilisation de Design Patterns</li>
</ul>
<p>Bientôt sera disponible un lien permettant de télécharger le programme. D&#8217;ici là, patientez un peu ; vous pouvez voir le résultat <a href="http://shouter.homelinux.com/php/MAgenda/">ici</a></p>
<blockquote><h3>0.1 finale<br />
téléchargement <a href="<?php bloginfo('url'); ?>/wp-content/MAgenda-0.1-final.zip&#8221;>ici</a><br />
</h3>
</blockquote>
<p>Naturellement, vu la nature plutôt incomplète de ce programme, je distribue la source par principe, par volonté, mais aussi pour tous ceux et celles qui font de même et ceux et celles qui ont toujours voulu essayer de comprendre un peu certains aspects de la programmation.</p>
<p>Je ne qualifie en aucun cas mon code de parfait vu le temps que j&#8217;y ai mis (j&#8217;aurais voulu un projet plus ambitieux aussi) et les autres travaux en parallèle, j&#8217;ai préférer ne pas y investir beaucoup. Donnez vos commentaires, ils sont toujours bienvenus lorsque constructifs.</p>
 <img src="http://blog.autre-chose.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=110" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.autre-chose.org/2006/04/04/magenda-version-01/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Windows, SQL Server Express et&#8230; PHP</title>
		<link>http://blog.autre-chose.org/2006/03/27/windows-sql-server-express-et-php?utm_source=subscriber&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://blog.autre-chose.org/2006/03/27/windows-sql-server-express-et-php#comments</comments>
		<pubDate>Mon, 27 Mar 2006 21:28:30 +0000</pubDate>
		<dc:creator>mdupuis</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Base de données]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://localhost/~mdupuis/blog/?p=107</guid>
		<description><![CDATA[Je sais, le titre sonne bizzar. On ne peut s&#8217;empêcher de se demander pourquoi chosir PHP alors qu&#8217;on travaille avec Windows et SQL Server ou bien pourquoi Windows et SQL Server alors qu&#8217;on désire PHP ? Dans mon cas, la raison est fort simple : dans un contexte de stage, on ne fait pas tout [...]]]></description>
			<content:encoded><![CDATA[<p>Je sais, le titre sonne bizzar. On ne peut s&#8217;empêcher de se demander pourquoi chosir PHP alors qu&#8217;on travaille avec Windows et SQL Server ou bien pourquoi Windows et SQL Server alors qu&#8217;on désire PHP ? Dans mon cas, la raison est fort simple : dans un contexte de stage, on ne fait pas tout ce que l&#8217;on veut. Pour des raisons comme l&#8217;administration des serveurs, je me dois de travailler avec Windows et SQL Server. Mais le but de ce billet n&#8217;est pas de vous expliquer les raisons ni encore moins mes opinions face à ça, mais plutôt de vous aider à faire fonctionner les 3 ensemble.<span id="more-107"></span></p>
<p>Au tout début de mon stage, je savais que j&#8217;allais avoir à retapper certaines pages PHP parlant avec une base de données (qui n&#8217;est pas SQL Server). Lors de la migration des données vers SQL Server (pour augmenter la rapidité du côté non-Web), je ne me suis pas trop attardé à l&#8217;aspect PHP, car je le connais puissant et flexible. Cependant, j&#8217;ai eu quelques problèmes pour parler à une instance SQL Server Express 2005 à l&#8217;aide de PDO.</p>
<p>En effet, j&#8217;ai chosi de migrer les pages en PHP4 (ou plutôt un mélange entre la version 3 et 4&#8230;) vers PHP5 et d&#8217;utiliser PDO pour son côté pratique advenant un autre changement de base de données, mais aussi pour ses performances et son utilisation objet. J&#8217;avais lu dans la documentation officielle que les pilotes ODBC pour PDO ne fonctionnaient pas très bien avec SQL Server Express 2005&#8230; et ils avaient raison. J&#8217;ai obtenu toutes sortes de problèmes que ce soit au passage de paramètres à l&#8217;exécution de requêtes préparées ou encore la réception de la réponse à une requête (SELECT par exemple). Et puisque j&#8217;avais déjà essayé de me connecter à la base de données avec les pilotes MSSQL (ou DBLIB) pour PDO, je n&#8217;étais pas capable. Mais j&#8217;ai finalement réussi. Voici la prodédure :</p>
<ol>
<li>Vérifier que les connexions distantes sont bien possibles à l&#8217;aide de l&#8217;outil &#8220;Configuration de la surface d&#8217;exposition SQL Server&#8221;</li>
<li>Vérifier que vous pouvez bien vous connecter avec l&#8217;usager &#8220;sa&#8221; (Super Admin) &#8211; créer un mot de passe pour cet usager en particulier</li>
<li>Au besoin, testez la connexion avec le programme &#8220;SQL Server Management Studio Express CTP&#8221; sur un ordinateur distant de la base de données (quant au nom de l&#8217;instance, vous devrez l&#8217;entrer sous le format &#8220;<em>{nom de la machine}\SQLEXPRESS</em>&#8221; ou &#8220;<em>{IP}\SQLEXPRESS</em>&#8220;</li>
<li>Quant tout cela fonctionne, vérifier que les extensions PHP_PDO et PHP_PDO_MSSQL sont bien chargées (avec phpinfo() par exemple) &#8211; sinon les ajouter au fichier php.ini et redémarrer le serveur Web)</li>
<li>Le fichier ntwdblib.dll fourni avec php-5.1.2 n&#8217;est pas le bon pour pouvoir se connecter à l&#8217;instance. Vous devez télécharger <a href="<?php bloginfo('url'); ?>/wp-content/ntwdblib.dll&#8221;>celui-ci</a> qui n&#8217;est qu&#8217;une version plus récente, le copier dans votre dossier php (C:\php\ dans mon cas), mais <b>AUSSI</b> dans votre répertoire binaire d&#8217;apache (C:\Program Files\Apache Group\Apache2\bin\ dans mon cas).</li>
<li>Redémarrer votre instance d&#8217;apache et testez votre connexion</li>
</ol>
<p>Vous pouvez baser votre test de connexion sur le mien :</p>
<pre>

$_DSN = 'mssql:host=192.168.0.1\\SQLEXPRESS;dbname=maBD';
$dbh = new PDO($_DSN, 'sa', 'secret', array(PDO::ATTR_PERSISTENT => true));
</pre>
<p>Note : J&#8217;utilise PDO::ATTR_PERSISTANT pour garder la connexion après la fin du script, mais vous n&#8217;êtes pas obligés.</p>
<p>J&#8217;espère que ça va vous aider et sauver du temps !</p>
 <img src="http://blog.autre-chose.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=107" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.autre-chose.org/2006/03/27/windows-sql-server-express-et-php/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Conférence 2006 &#8211; Dernier sprint</title>
		<link>http://blog.autre-chose.org/2006/03/27/conference-2006-dernier-sprint?utm_source=subscriber&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://blog.autre-chose.org/2006/03/27/conference-2006-dernier-sprint#comments</comments>
		<pubDate>Mon, 27 Mar 2006 19:39:26 +0000</pubDate>
		<dc:creator>mdupuis</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHPQuebec]]></category>

		<guid isPermaLink="false">http://localhost/~mdupuis/blog/?p=106</guid>
		<description><![CDATA[L&#8217;équipe d&#8217;organisation de la conférence PHP Québec 2006 en est aux derniers préparatifs. J&#8217;ai appris la semaine passée que je pourrai assister à la conférence le jeudi et vendredi. Je vais donc manquer les ateliers, mais on fait avec ce qu&#8217;on a. Déjà que je peux reporter mes heures de stage à plus tard, c&#8217;est [...]]]></description>
			<content:encoded><![CDATA[<p>L&#8217;équipe d&#8217;organisation de la conférence PHP Québec 2006 en est aux derniers préparatifs. J&#8217;ai appris la semaine passée que je pourrai assister à la conférence le jeudi et vendredi. Je vais donc manquer les ateliers, mais on fait avec ce qu&#8217;on a. Déjà que je peux reporter mes heures de stage à plus tard, c&#8217;est beaucoup demander.</p>
<p>Voilà donc votre dernière chance de pouvoir vous procurrer des billets à un prix moindre qu&#8217;à la porte et ainsi rencontrer Rasmus Lerdorf, Ilia Alshanetsky, Derick Rethans, Marcus Böerger, etc. Beaucoup de sessions fort intéressantes qui repoussent les limites de ce qu&#8217;est capable de faire PHP. Consulter <a href="http://conf.phpquebec.org/fr/conf2006/session">les descriptions des sessions</a> pour plus de détails. Pour ceux et celles de l&#8217;extérieur qui souhaiteraient venir à Montréal, veuillez contacter les organisateurs pour des <a href="http://conf.phpquebec.org/fr/conf2006/hotel">tarifs réduits</a> chez Air Canada et l&#8217;hôtel Plaza Montréal.</p>
<p>J&#8217;ai personnellement hâte d&#8217;entendre parler d&#8217;interaction avec GTK2, du support Unicode qu&#8217;aura PHP6, de développement Agile et bien plus, mais je crois que le plus exitant sera d&#8217;échanger avec les conférenciers lors des dîners à l&#8217;hôtel ou à la cabane à sucre le samedi 1er avril.</p>
 <img src="http://blog.autre-chose.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=106" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.autre-chose.org/2006/03/27/conference-2006-dernier-sprint/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Conférence 2006 PHP Québec</title>
		<link>http://blog.autre-chose.org/2006/03/05/conference-2006-php-quebec?utm_source=subscriber&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://blog.autre-chose.org/2006/03/05/conference-2006-php-quebec#comments</comments>
		<pubDate>Sun, 05 Mar 2006 17:29:33 +0000</pubDate>
		<dc:creator>mdupuis</dc:creator>
				<category><![CDATA[Images]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHPQuebec]]></category>

		<guid isPermaLink="false">http://localhost/~mdupuis/blog/?p=102</guid>
		<description><![CDATA[Pour une 4ième année consécutive, PHP Québec réuni la crème de la communauté PHP pour vous en mettre plein la vue au sujet des dernières technologies reliées PHP. Encore une fois, PHP Québec vous invite à sa conférence annuelle. Cette année encore, la conférence se déroulera sur 3 jours, soit du 29 au 31 mars [...]]]></description>
			<content:encoded><![CDATA[<p>Pour une 4ième année consécutive, PHP Québec réuni la crème de la communauté PHP pour vous en mettre plein la vue au sujet des dernières technologies reliées PHP.</p>
<p>Encore une fois, PHP Québec vous invite à sa <a href="http://conf.phpquebec.org/">conférence annuelle</a>. Cette année encore, la conférence se déroulera sur 3 jours, soit du 29 au 31 mars prochain. La première journée de conférence sera réservée aux ateliers tandis que les 2 autres sont réversés pour diverses sessions réparties sur 3 pistes distinctes : techniques avancées, développement professionnel et bases de données.</p>
<p>Pourquoi venir ? La conférence vous met en contact directement avec les autres visiteurs, les conférenciers, les commenditaires et les gens de chez PHP Québec. Les prix des dîners et des pauses sont inclus dans le prix des billets ; vous n&#8217;avez pas à quitter les lieux pour aller manger ou quoi que ce soit. Écoutez les conférences manquées grâce au CD-Rom qui vous sera donné à la suite de la conférence contenant tous les extraits audio de la conférence. Venez tester vos connaissances en obtenant le test de la certification Zend tout à fait gratuitement !</p>
<p>Participez à la plus importante conférence du genre dans les environs et découvrez-vous de nouvelles passions ! Pour de plus amples informations, visitez le <a href="http://conf.phpquebec.org/">site officiel de la conférence</a>.</p>
<p>Par le fait même, si vous êtes un conférencier, l&#8217;équipe de PHP Québec aimerait que vous affichiez un de ces petits boutons :</p>
<div style="text-align: center"><img src="http://www.autre-chose.org/phpqc/conf-2006/speak-at-150x100-fr.gif" alt="Je parle à la conférence PHP Québec 2006" /> &nbsp;&nbsp;&nbsp; <img src="http://www.autre-chose.org/phpqc/conf-2006/speak-at-150x100-en.gif" alt="I speak at the 2006 PHP Quebec Conference" /></div>
<p>Il va de même pour tous nos visiteurs. Nous aimerions que vous affichiez un de ces boutons (selon la langue principale de votre site) :</p>
<div style="text-align: center"><img src="http://www.autre-chose.org/phpqc/conf-2006/go-to-150x100-fr.gif" alt="Je parle à la conférence PHP Québec 2006" /> &nbsp;&nbsp;&nbsp; <img src="http://www.autre-chose.org/phpqc/conf-2006/go-to-150x100-en.gif" alt="I speak at the 2006 PHP Quebec Conference" /></div>
<p><b>Mise à jour :</b> Les pubs sont maintenant disponibles via <a href="http://blog.autre-chose.org/pubs-conf2006/">une page</a>. Elles sont disponibles pour affichage !</p>
 <img src="http://blog.autre-chose.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=102" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.autre-chose.org/2006/03/05/conference-2006-php-quebec/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Critique : Guide to PHP Design Patterns</title>
		<link>http://blog.autre-chose.org/2006/01/12/critique-guide-to-php-design-patterns?utm_source=subscriber&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://blog.autre-chose.org/2006/01/12/critique-guide-to-php-design-patterns#comments</comments>
		<pubDate>Thu, 12 Jan 2006 23:45:26 +0000</pubDate>
		<dc:creator>mdupuis</dc:creator>
				<category><![CDATA[Livres]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://localhost/~mdupuis/blog/?p=90</guid>
		<description><![CDATA[Je vous avais parlé jadis de ce livre publié par php&#124;architect&#8217;s et écrit par Jason E. Sweat. Cet ouvrage de plus de 300 pages (comptant les annexes) nous initie aux Design Patterns aussi bien en PHP4 qu&#8217;en PHP5. Pour ce faire, l&#8217;auteur nous montre comment intégrer les Design Patterns à nos développement en nous montrant [...]]]></description>
			<content:encoded><![CDATA[<p>Je vous avais parlé <a href="http://blog.autre-chose.org/2005/07/25/max-y-lit/" title="Max, y lit ?">jadis</a> de ce livre publié par <a href="http://www.phparch.com/">php|architect&#8217;s</a> et écrit par Jason E. Sweat. Cet ouvrage de plus de 300 pages (comptant les annexes) nous initie aux Design Patterns aussi bien en PHP4 qu&#8217;en PHP5. Pour ce faire, l&#8217;auteur nous montre comment intégrer les Design Patterns à nos développement en nous montrant un exemple pour chacun [ou deux si l'implémentation se fait différemment entre PHP4 et 5].</p>
<p>Pour reprendre les mots de l&#8217;auteur, celui-ci a écrit le livre dans le but d&#8217;apprendre lui-même les Design Pattersn. Non pas qu&#8217;il ne les connaissait pas, mais il voulait démêler le tout dans sa tête en écrivant un ouvrage y étant consacré. Cela n&#8217;enlève rien au livre. Au contraire, il nous offre en prime son expérience acquise en développant en PHP.</p>
<p>Le livre est divisé en 18 chapitres, moins l&#8217;introduction et la conclusion, pour un total de 16 patterns expliqués en théorie et en pratique. Jason commence d&#8217;abord par nous expliquer un principe presque fondamental de la programmation (du moins avec Agile) : le Unit Testing. En effet, chaque morceau de code est accompagné d&#8217;un jeu de test (SimpleTest dans ce cas-ci) ce qui ajoute, selon moi, de la crédibilité, un degré de formation supplémentaire et une ouverture plus grande lorsqu&#8217;on termine le livre. Les chapitres sont biens écrits, c&#8217;est-à-dire que chacun suit un ordre précis. On présente d&#8217;abord un scénario général que subi ou subira probablement un programmeur au cours de sa carrière, on défini un problème et on explique en mots une solution générique, soit la description de ce qu&#8217;accompli le pattern. Ensuite vient le code.</p>
<blockquote><p><strong>Design patterns couverts :</strong></p>
<ul>
<li>Value Object</li>
<li>Factory</li>
<li>Singleton</li>
<li>Registry</li>
<li>MockObject</li>
<li>Strategy</li>
<li>Iterator</li>
<li>Observer</li>
<li>Specification</li>
<li>Proxy</li>
<li>Decorator</li>
<li>Adapter</li>
<li>Active Record</li>
<li>Table Data Gateway</li>
<li>Data Mapper</li>
<li>Model-View-Controller</li>
</ul>
</blockquote>
<p>Au fur et à mesure qu&#8217;on avance dans le livre, les chapitres augmentent en difficulté. Non pas qu&#8217;il est de plus en plus dur de comprendre, mais il serait facile pour un débutant en PHP et/ou programmation de se perdre s&#8217;il commençait par le dernier chapitre (MVC). Ce qui est plaisant aussi, c&#8217;est de découvrir de nouvelles fonctionnalités de test tout au long du livre en plus de l&#8217;annexe B qui porte sur SimpleTest seulement.</p>
<p>En plus de nous offrir ceci, l&#8217;auteur fait mention de quelques autres pattersn (nottament le Front Controller) et d&#8217;autres ouvrages (comme PoEAA de Martin Fowler) pour réveiller notre appétit et, peut-être, chercher à en connaître plus de notre côté.</p>
<p>Ce que j&#8217;ai apprécié : en gros, tout ce qui a été dit jusqu&#8217;ici.<br />
Ce que j&#8217;ai moins aimé : je ne peux mettre le doigt dessus, mais bon, rien n&#8217;est parfait. Ce livre ne l&#8217;est pas.</p>
<p><b>Note : 8.5/10</b></p>
<p>Je recommande ce livre à tous ceux et celles qui veulent s&#8217;initier soit aux Design Patterns, soit aux Design Patterns en PHP. C&#8217;est un bon ouvrage qui mérite qu&#8217;on le garde dans notre librairie personnelle ou notre disque dur. Il est disponible en téléchargement au format PDF et en version imprimé (aux dernières nouvelles). Avis à ceux qui n&#8217;aime pas lire un livre au complet sur écran ou sur papier !</p>
 <img src="http://blog.autre-chose.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=90" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.autre-chose.org/2006/01/12/critique-guide-to-php-design-patterns/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PHP en version 5.1 finale</title>
		<link>http://blog.autre-chose.org/2005/11/25/php-en-version-51-finale?utm_source=subscriber&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://blog.autre-chose.org/2005/11/25/php-en-version-51-finale#comments</comments>
		<pubDate>Fri, 25 Nov 2005 22:14:23 +0000</pubDate>
		<dc:creator>mdupuis</dc:creator>
				<category><![CDATA[Personnel]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://localhost/~mdupuis/blog/?p=86</guid>
		<description><![CDATA[Hier soir, nous apprenions la sortie en version finale de PHP 5.1. Bien que je fasse tous mes développements sur des versions en &#8220;release-candidate&#8221; depuis un bout, RC1 en fait, il est plaisant de voir arriver la version finale qui, espérons-le, saura encourager les compagnies d&#8217;hébergement à passer à PHP5, car en effet, beaucoup trop [...]]]></description>
			<content:encoded><![CDATA[<p>Hier soir, nous apprenions la sortie en version finale de PHP 5.1. Bien que je fasse tous mes développements sur des versions en &#8220;release-candidate&#8221; depuis un bout, RC1 en fait, il est plaisant de voir arriver la version finale qui, espérons-le, saura encourager les compagnies d&#8217;hébergement à passer à PHP5, car en effet, beaucoup trop sont encore sous PHP4.</p>
<p><a href="http://ilia.ws/archives/94-PHP-5.1.0-Released!.html">Ilia nous apprenait</a>, hier, quelques vertues de cette nouvelle version par rapport à son prédécesseur (PHP 5.0.4) et que vous pouvez <a href="http://www.php.net/downloads.php">télécharger ici</a> les paquetages pour Linux ET Win32. Parmis les changements, en voici les plus importants :</p>
<ul>
<li>Recodage complet de la gestion des dates et du temps avec un meilleur support des fuseaux horaires</li>
<li>Performances significativement accrues par rapport à PHP 5.0.x</li>
<li>Le plugiciel PDO est activé par défaut</li>
<li>Une trentaine de nouvelles fonctions, qu&#8217;elles soit incluses directement ou par le biais de plugiciels</li>
<li>Inclusion de quelques librairies (je dis plugiciels <img src='http://blog.autre-chose.org/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> ) dans le paquetage, dont les dernières versions de PCRE et SQLite</li>
<li>Au delà de <b>400</b> corrections de bugs</li>
<li>Librairie PEAR en version 1.4.5 intégrée</li>
<li>Huit corrections en matière de sécurité jugés &#8220;critique&#8221;</li>
<li>Ajout des curseurs supportés dans MySQL 5 dans le plugiciel mysqli</li>
<li>Sous Windows, les plugiciels suivants sont inclus (nottez qu&#8217;ils le sont probablement sous Linux ou autre aussi) :
<ul>
<li>zlib 1.2.3</li>
<li>curl 7.14.0</li>
<li>openssl 0.9.8</li>
<li>ming 0.3b</li>
<li>libpq (postgres) 8.0.1</li>
</ul>
</li>
<li>Les méthodes __get() et __set() peuvent s&#8217;appeler récursivement pour certaines propriétés (corrigé)</li>
<li>Les fonctions <i>abstract public</i> ne sont plus valides</li>
</ul>
<p>Pour tout autre intérogations ou si vous êtes simplement curieux ou fanatique de PHP, veuillez consulter le <a href="http://www.php.net/ChangeLog-5.php#5.1.0">changelog officiel</a>.<br />
&#8212;<br />
Par le fait même, la prochaine rencontre PHPQuébec à Drummondville que je donnerai le 5 décembre prochain aura comme mandat de vous apprendre à installer un environnement de développement sous Windows avec l&#8217;IDE Eclipse, Apache 2, MySQL5 et &#8230; biensûr, PHP 5.1 !</p>
<p>Comme toujours, veuillez consulter <a href="http://www.phpquebec.org/modules/piCal/index.php?smode=Daily&#038;action=View&#038;event_id=0000000103&#038;caldate=2005-11-25">le calendrier de PHPQuébec</a> pour de plus amples informations.</p>
<p>P.S. : Cette rencontre sera peut-être l&#8217;une des dernières que connaîtra le groupe PHP Québec de Drummondville sous ma supervision. Alors venez en grand nombre ! <img src='http://blog.autre-chose.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
 <img src="http://blog.autre-chose.org/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=86" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.autre-chose.org/2005/11/25/php-en-version-51-finale/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

