<?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>jaiunblog.com &#124; j&#039;ai un blog - graphisme, design, programmation &#187; php</title>
	<atom:link href="http://jaiunblog.com/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://jaiunblog.com</link>
	<description>un peu de tout et beaucoup de rien ça fait du bien !</description>
	<lastBuildDate>Thu, 02 Feb 2012 14:35:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>mamp</title>
		<link>http://jaiunblog.com/3595/mamp/</link>
		<comments>http://jaiunblog.com/3595/mamp/#comments</comments>
		<pubDate>Mon, 12 Sep 2011 15:57:25 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[programmation]]></category>
		<category><![CDATA[mamp]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://jaiunblog.com/?p=3595</guid>
		<description><![CDATA[Si quelqu&#8217;un connaît Monsieur Mamp… Host localhost Port 3306 // je veux bien mais c&#8217;est 8889 dans les préférences User root Password root Et dans le php.ini display_errors = Off C&#8217;est pas sympa pour les newbies ;¬) on basculera en display_errors = On (pomme + s, relancer Mamp)]]></description>
			<content:encoded><![CDATA[<!-- Flash Video Resizer 1.4 : 425pixel --><p>Si quelqu&#8217;un connaît Monsieur Mamp…</p>
<blockquote><p>
Host 	localhost<br />
Port 	3306 // je veux bien mais c&#8217;est <strong>8889</strong> dans les préférences<br />
User 	root<br />
Password  root</p></blockquote>
<p>Et dans le php.ini</p>
<pre class="brush: php; title: ;">
display_errors = Off
</pre>
<p>C&#8217;est pas sympa pour les newbies ;¬) on basculera en display_errors = On  (pomme + s, relancer Mamp)</p>
]]></content:encoded>
			<wfw:commentRss>http://jaiunblog.com/3595/mamp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>j&#8217;ai peur</title>
		<link>http://jaiunblog.com/2881/jai-peur/</link>
		<comments>http://jaiunblog.com/2881/jai-peur/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 10:27:09 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[vrac]]></category>
		<category><![CDATA[1and1]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://jaiunblog.com/?p=2881</guid>
		<description><![CDATA[Bonjour M. Jaiunblog, Les virus, vers, chevaux de Troie ou logiciels espions représentent autant de menaces pour votre ordinateur, c&#8217;est pourquoi il est indispensable de sécuriser votre environnement informatique à l&#8217;aide d&#8217;un logiciel de sécurité. Malheureusement, de nombreux internautes ont recours à des logiciels gratuits ou bon marché, qui n&#8217;assurent pas une protection suffisante. Notre [...]]]></description>
			<content:encoded><![CDATA[<!-- Flash Video Resizer 1.4 : 425pixel --><blockquote><p>Bonjour M. Jaiunblog,</p>
<p>Les virus, vers, chevaux de Troie ou logiciels espions représentent autant de menaces pour votre ordinateur, 																		c&#8217;est pourquoi il est indispensable de sécuriser votre environnement informatique à l&#8217;aide d&#8217;un logiciel de 																		sécurité. Malheureusement, de nombreux internautes ont recours à des <strong>logiciels gratuits ou bon marché</strong>, qui 																		n&#8217;assurent <strong>pas une protection suffisante.</strong></p>
<p><strong>Notre conseil :</strong> Afin de protéger votre ordinateur au quotidien <strong>de manière optimale</strong>, nous vous recommandons 																		Norton<sup>™</sup> AntiVirus Online de Symantec, <strong>la solution de sécurité de référence.</strong></p>
<p>En tant que client 1&amp;1, profitez de notre offre exclusive : commandez Norton<sup>™</sup> AntiVirus Online avant le 																		30/06/10 et bénéficiez de <strong>3 mois gratuits !*</strong></p>
<p>Souscrivez à Norton<sup>™</sup> AntiVirus Online dès maintenant afin de vous évitez des mauvaises surprises !</p>
<p>Cordialement,<br />
Votre équipe 1&amp;1 Internet</p></blockquote>
<p>Par curiosité saine, j&#8217;ai regardé l&#8217;offre de 1&#038;1<br />
Norton™ Internet Security<br />
5,99 € HT/mois*7,16 € TTC/mois* (par unité)<br />
petit calcul : 85,92 TTC €/an<br />
J&#8217;ai vu la version sur le site Norton à 70 euros TTC et à 23 euros sur un site d&#8217;une grande enseigne.</p>
<p>C&#8217;est sympa de mettre « cordialement » vu la sincérité de l&#8217;offre ;¬)</p>
<p>J&#8217;ajoute un kilo de rire chez 1&#038;1 l&#8217;offre principale est en php 4 par défaut il faut forcer le php 5 via le .htaccess</p>
<pre class="brush: plain; title: ;">AddType x-mapp-php5 .php</pre>
]]></content:encoded>
			<wfw:commentRss>http://jaiunblog.com/2881/jai-peur/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>désactiver un plugin wordpress sur une page</title>
		<link>http://jaiunblog.com/2527/desactiver-un-plugin-wordpress/</link>
		<comments>http://jaiunblog.com/2527/desactiver-un-plugin-wordpress/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 16:37:11 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[programmation]]></category>
		<category><![CDATA[tutorials]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://jaiunblog.com/?p=2527</guid>
		<description><![CDATA[Problématique du jour, j&#8217;ai installé un plugin pour mettre automatiquement les vidéos de youtube, vimeo et autres à la largueur de mon site : http://wordpress.org/extend/plugins/flash-video-resizer/. Mais voilà malgré les options proposées dans l&#8217;administration du plugin, impossible de spécifier la suppression du resize sur une page précise&#8230; Dans le monde merveilleux de wordpress, il existe les [...]]]></description>
			<content:encoded><![CDATA[<!-- Flash Video Resizer 1.4 : 425pixel --><p><img src="http://jaiunblog.com/blog/wp-content/uploads/2010/02/wp-orange-1024x768-425x318.png" alt="" title="wp logo" width="425" height="318" class="alignnone size-medium wp-image-2481" /></p>
<p>Problématique du jour, j&#8217;ai installé un plugin pour mettre automatiquement les vidéos de youtube, vimeo et autres à la largueur de mon site : <a href="http://wordpress.org/extend/plugins/flash-video-resizer/">http://wordpress.org/extend/plugins/flash-video-resizer/</a>.<br />
Mais voilà malgré les options proposées dans l&#8217;administration du plugin, impossible de spécifier la suppression du <em>resize</em> sur une page précise&#8230;<br />
Dans le monde merveilleux de wordpress, il existe les filtres !<br />
Le plugin ci-dessus applique un <em>filter</em> au <em>content</em>, dans les sources de celui-ci on lira</p>
<pre class="brush: php; title: ;">add_filter('the_content', 'fvr_resizeMarkup');</pre>
<p> il suffit donc de faire l&#8217;inverse !<br />
L&#8217;avantage c&#8217;est qu&#8217;on garde les autres <em>filters</em> !</p>
<pre class="brush: php; title: ;">
&lt;?php /*
Template Name: Anti Resize !
*/ ?&gt;

&lt;?php
remove_filter('the_content', 'fvr_resizeMarkup'); // on le désactive !
?&gt;
&lt;?php
get_header(); ?&gt;
// la boucle + le pied (...)
</pre></p>
]]></content:encoded>
			<wfw:commentRss>http://jaiunblog.com/2527/desactiver-un-plugin-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>php et programmation</title>
		<link>http://jaiunblog.com/2220/php-et-programmation/</link>
		<comments>http://jaiunblog.com/2220/php-et-programmation/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 01:06:21 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[programmation]]></category>
		<category><![CDATA[tutorials]]></category>
		<category><![CDATA[glob]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://jaiunblog.com/?p=2220</guid>
		<description><![CDATA[Voici un petit article pour démystifier la programmation et comprendre par l&#8217;exemple le php (pas forcement en détail mais au moins donner une idée de son usage et son rôle). la programmation Pour simplifier, on peut dire que la programmation sert à fuir les opérations répétitives en demandant à un ordinateur de s&#8217;en charger, le [...]]]></description>
			<content:encoded><![CDATA[<!-- Flash Video Resizer 1.4 : 425pixel --><p><a href="http://jaiunblog.com/blog/wp-content/uploads/2010/01/list_png.png"><img class="alignnone size-medium wp-image-2223" title="list_png" src="http://jaiunblog.com/blog/wp-content/uploads/2010/01/list_png-425x240.png" alt="" width="425" height="240" /></a><br />
Voici un petit article pour démystifier la programmation et comprendre par l&#8217;exemple le php (pas forcement en détail mais au moins donner une idée de son usage et son rôle).<br />
<strong>la programmation</strong><br />
Pour simplifier, on peut dire que la programmation sert à fuir les opérations répétitives en demandant à un ordinateur de s&#8217;en charger, le but est souvent de trouver une astuce pour faire en 5 minutes plus ou moins intenses une opération qui devrait prendre plus de 5 minutes, la gymnastique intellectuelle étant parfois amusante, on pourra aussi passer plusieurs journées pour finalement gagner que quelques minutes mais tomber sur des erreurs intéressantes (graphiquement). On utilise un ou plusieurs langages qui demandent des connaissances spécifiques selon les environnements, les envies, les contraintes <strong>mais</strong> dans la plupart des cas on trouvera les ressources indispensables ou utiles sur le net ou dans des livres !</p>
<p><strong>exemple avec le php</strong><br />
Voici un exemple de script php <a href="http://fr.wikipedia.org/wiki/PHP">(définition wikipedia)</a> facile à appliquer et pratique (pour les graphistes).<br />
J&#8217;ai trouvé ce bout de php <a href="http://infinity-infinity.com/2009/07/10-php-functions-you-probably-never-use/">ici</a>, il affiche la liste des fichiers php présents dans un dossier</p>
<blockquote><p><code>foreach (glob("*.php") as $file)<br />
echo "$file\n";</code></p></blockquote>
<p>en français ça donnerait : pour chaque élément (de cette liste contenant (&laquo;&nbsp;des fichiers php&nbsp;&raquo;) tu en prends un) tu affiches &laquo;&nbsp;le nom de celui-ci&nbsp;&raquo;<br />
en détail il y a trois fonctions :<br />
glob() va chercher la liste des fichiers (comme un spotlight)<br />
foreach ($machin as $truc) décompose $machin en $truc et applique en boucle à un $truc la ligne suivante (si $machin à dix $truc, j&#8217;aurais dix boucles)<br />
echo &laquo;&nbsp;un truc&nbsp;&raquo;  affiche un truc<br />
(si c&#8217;est trop abstrait google -&gt; glob, foreach, echo)</p>
<p>On va partir de la même base pour en faire une liste d&#8217;images, le php s&#8217;intègrera dans le html, mais il faut anticiper le résultat voulu, je voudrais avoir ce html :</p>
<blockquote><p><code>&lt;img src="image1.png" alt="image1.png"/&gt;<br />
&lt;img src="image2.png" alt="image2.png"/&gt;<br />
&lt;img src="image3.png" alt="image3.png"/&gt;<br />
</code></p></blockquote>
<p>Première retouche :</p>
<blockquote><p><code>foreach (glob("<strong>*.png</strong>") as $file)<br />
echo "$file\n";</code></p></blockquote>
<p>ceci affiche les noms des png dans le dossier<br />
Deuxième retouche :</p>
<blockquote><p><code>foreach (glob("<strong>*.png</strong>") as $file)<br />
echo "</code>&lt;img src=&#8217;$file&#8217; alt=&#8217;$file&#8217; /&gt;<code>";</code></p></blockquote>
<p>ceci affiche les images png.</p>
<p>Version finale avec le xHTML + CSS + reset du CSS + le nom du dossier<br />
J&#8217;ai juste copié/collé deux ou trois trucs en plus&#8230;</p>
<blockquote><p><code><br />
</code><code>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;<br />
&lt;html xmlns="http://www.w3.org/1999/xhtml" lang="fr"&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;</code></p>
<p>&lt;title&gt;Liste des images jpg&lt;/title&gt;<br />
&lt;style type=&nbsp;&raquo;text/css&nbsp;&raquo; media=&nbsp;&raquo;screen&nbsp;&raquo;&gt;<br />
/*reset du css */<br />
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0}<br />
table{border-collapse:collapse;border-spacing:0}<br />
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:400}<br />
ol,ul{list-style:none}<br />
caption,th{text-align:left}<br />
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400}<br />
q:before,q:after{content:&nbsp;&raquo;}<br />
fieldset,img,abbr,acronym{border:0}<br />
/* mon css */<br />
body {<br />
font-size: 62.5%; /* Resets 1em to 10px */<br />
font-family: &#8216;Lucida Sans&#8217;, &#8216;Lucida Grande&#8217;, &#8216;Lucida Sans Unicode&#8217;, Verdana, Arial, Sans-Serif;<br />
background: grey;<br />
color: white;<br />
padding:10px;<br />
}</p>
<p>h1{<br />
font-size: 2em;<br />
}<br />
img{<br />
display: block;<br />
margin:10px 10px 0 0;<br />
float:left;<br />
}<br />
&lt;/style&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;h1&gt;liste des png du dossier : &lt;?php echo dirname($_SERVER["PHP_SELF"]); ?&gt;&lt;/h1&gt;<br />
&lt;?php<br />
foreach (glob(&laquo;&nbsp;*.png&nbsp;&raquo;) as $file)<br />
echo &laquo;&nbsp;&lt;img src=&#8217;$file&#8217; alt=&#8217;$file&#8217;/&gt;&nbsp;&raquo;;<br />
?&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</p></blockquote>
<p>Je vous laisse le zip du dossier à mettre dans le dossier htdocs ou www pour un test en localhost (en test local on lancera son serveur apache : mamp ou wamp ou lamp ou easyphp).</p>
<p>Télécharger les fichiers sources : <a href="http://jaiunblog.com/blog/wp-content/uploads/2010/01/list_png.zip">list_png.zip</a> avec une petite variante sur un &laquo;&nbsp;echo&nbsp;&raquo;&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://jaiunblog.com/2220/php-et-programmation/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>clic time !</title>
		<link>http://jaiunblog.com/2168/clic-time/</link>
		<comments>http://jaiunblog.com/2168/clic-time/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 16:11:18 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[graphisme]]></category>
		<category><![CDATA[programmation]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[mootools]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://jaiunblog.com/?p=2168</guid>
		<description><![CDATA[Bonne année 2010 à tous ! ( xhtml + css + mootols + php ) x ( time ) + ( trop de temps libre ) x pi x R² = 2010]]></description>
			<content:encoded><![CDATA[<!-- Flash Video Resizer 1.4 : 425pixel --><p><img src="http://jaiunblog.com/blog/wp-content/uploads/2010/01/20101.gif" alt="" title="2010" width="425" height="112" class="alignnone size-full wp-image-2170" /></p>
<p>Bonne année 2010 à tous !<br />
( xhtml + css + mootols + php ) x ( time )<br />
+ ( trop de temps libre ) x pi x R² = <a href="http://jaiunsite.com">2010</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jaiunblog.com/2168/clic-time/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>comment faire un plugin pour wordpress</title>
		<link>http://jaiunblog.com/1545/comment-faire-un-plugin-pour-wordpress/</link>
		<comments>http://jaiunblog.com/1545/comment-faire-un-plugin-pour-wordpress/#comments</comments>
		<pubDate>Wed, 22 Oct 2008 15:45:44 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[programmation]]></category>
		<category><![CDATA[tutorials]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://jaiunblog.com/?p=1545</guid>
		<description><![CDATA[Je vais prendre 5 minutes pour contribuer au monde merveilleux de wordpress avec un mini tutorial sur les plugins (ou extensions pour être correcte). Je passe les détails sur l&#8217;installation d&#8217;un plugin dans wordpress ;¬) enfin rapidement pour ceux qui découvre, si vous avez accès au ftp de votre blog, les extensions sont dans le [...]]]></description>
			<content:encoded><![CDATA[<!-- Flash Video Resizer 1.4 : 425pixel --><p><img src="http://jaiunblog.com/blog/wp-content/uploads/2008/10/grojour.gif" alt="" title="grojour" width="425" height="468" class="alignnone size-full wp-image-1548" /><br />
Je vais prendre 5 minutes pour contribuer au monde merveilleux de wordpress avec un mini tutorial sur les plugins (ou extensions pour être correcte).<br />
Je passe les détails sur l&#8217;installation d&#8217;un plugin dans wordpress ;¬) enfin rapidement pour ceux qui découvre, si vous avez accès au ftp de votre blog, les extensions sont dans le dossier /wordpress/wp-content/plugins/ et on les active dans la partie « Extensions » du panneau d&#8217;administration.</p>
<p>Pour faire ce merveilleux plugin, il faut avoir quelques notions de php, ici le plus difficile est de comprendre les variables tableaux et la fonction <a href="http://fr2.php.net/strtr">strtr</a> ; si ça semble imbuvable, le <a href="http://www.siteduzero.com/tutoriel-3-14668-un-site-dynamique-avec-php.html">site du zéro</a> est assez pédagogique.</p>
<p>À quoi va servir ce plugin ;¬) nous allons faire un mini traducteur des jours en grolandais ! Rien d&#8217;utile mais en poussant un peu plus le principe, on peut imaginer des petites fonctions avancées en php et xhtml (pour convertir les liens .mp3 en player flash). </p>
<p>Premiers pas indispensable : <strong>L&#8217;entête</strong></p>
<blockquote><p><code>/*<br />
Plugin Name: Grojour<br />
Plugin URI: http://jaiunblog.com<br />
Description: traducteur grlandais<br />
Author: Ben<br />
Version: 1.0<br />
Author URI: http://jaiunblog.com<br />
*/<br />
</code></p></blockquote>
<p>Il s&#8217;agit de commentaire php entre /* et */ c&#8217;est la description (seul le Plugin Name est obligatoire).</p>
<p>Deuxième étape <strong>La fonction utile</strong></p>
<blockquote><p><code>function gJour($text){<br />
	$traduction = array(<br />
	"Lundi" => "Lendi",<br />
	"Mardi" => "Mordi",<br />
	"Mercredi" => "Credi",<br />
	"Jeudi" => "Joudi",<br />
	"Vendredi" => "Dredi",<br />
	"Samedi" => "Sadi",<br />
	"Dimanche" => "Gromanche",<br />
	"lundi" => "lendi",<br />
	"mardi" => "mordi",<br />
	"mercredi" => "credi",<br />
	"jeudi" => "joudi",<br />
	"vendredi" => "dredi",<br />
	"samedi" => "sadi",<br />
	"dimanche" => "gromanche"<br />
	);<br />
	$text= strtr($text,$traduction);<br />
	return $text;<br />
}</code></p></blockquote>
<p>Pour la pédagogie : echo gJour(&laquo;&nbsp;On est lundi ?&nbsp;&raquo;); // donne : On est lendi ?<br />
Ne pas oublier le « return $variable » sinon le filtre effacera ses cibles.</p>
<p>Pour finir, la magie de wordpress : <strong>les filtres</strong></p>
<blockquote><p><code>add_filter("the_content","gJour");<br />
add_filter("the_time","gJour");</code></p></blockquote>
<p>On cible les « morceaux » qui vont être filtré par notre fonction gJour, ici the_content et the_time, le contenu et la date du billet. À noter, les filtres sont appliqués juste avant l&#8217;affichage des pages et si on désactive le plugin, le site redevient comme avant :-)</p>
<p><a href='http://jaiunblog.com/blog/wp-content/uploads/2008/10/grojour.zip'>grojour.zip</a></p>
<p>Update : deux liens complémentaires<br />
<a href="http://blog.site2wouf.fr/2008/08/tutoriel-wordpress-un-plug-in-simple-pour-comprendre.html">http://blog.site2wouf.fr/2008/08/tutoriel-wordpress-un-plug-in-simple-pour-comprendre.html </a><br />
<a href="http://www.pasunclou.com/2008/09/29/ecrire-un-plugin-wordpress/">http://www.pasunclou.com/2008/09/29/ecrire-un-plugin-wordpress/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jaiunblog.com/1545/comment-faire-un-plugin-pour-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

