<?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>Point2Zero &#187; PHP</title>
	<atom:link href="http://www.point2zero.net/blog/category/code/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.point2zero.net/blog</link>
	<description>Bring to you Information Technology</description>
	<lastBuildDate>Tue, 23 Mar 2010 11:17:35 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Envoi de mail avec CodeIgniter plain/text [edit ET text/html]</title>
		<link>http://www.point2zero.net/blog/2010/01/04/envoi-de-mail-avec-codeigniter/</link>
		<comments>http://www.point2zero.net/blog/2010/01/04/envoi-de-mail-avec-codeigniter/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 12:30:11 +0000</pubDate>
		<dc:creator>ChoiZ</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.point2zero.net/blog/?p=951</guid>
		<description><![CDATA[
			
				
			
		
Nous allons aujourd'hui envoyer un mail grâce à CodeIgniter.
Pour cela il faut créer un fichier email.php dans le répertoire application/config/
Dans ce fichier plusieurs méthodes pour envoyer un mail soit via "mail", "sendmail" ou via "smtp".
Nous allons utiliser un compte mail donc le SMTP.

&#60;?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

$config['protocol'] = 'smtp';
$config['smtp_host'] [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.point2zero.net%2Fblog%2F2010%2F01%2F04%2Fenvoi-de-mail-avec-codeigniter%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.point2zero.net%2Fblog%2F2010%2F01%2F04%2Fenvoi-de-mail-avec-codeigniter%2F&amp;source=Point2Zero+%5BBlog%5D&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Nous allons aujourd'hui envoyer un mail grâce à CodeIgniter.</p>
<p>Pour cela il faut créer un fichier email.php dans le répertoire application/config/<br />
Dans ce fichier plusieurs méthodes pour envoyer un mail soit via "mail", "sendmail" ou via "smtp".<br />
Nous allons utiliser un compte mail donc le SMTP.</p>
<pre class="brush: php;">
&lt;?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

$config['protocol'] = 'smtp';
$config['smtp_host'] = 'smtp.domaine.com';
$config['smtp_port'] = 25;
$config['smtp_user'] = 'mail@domaine.com';
$config['smtp_pass'] = 'motdepasseducomptemail';
</pre>
<p>Créer ensuite un contrôleur par exemple controllers/home.php<br />
Dans votre home vous allez créer la méthode "send" qui permet l'envoi du mail.</p>
<pre class="brush: php;">
&lt;?php
class Home extends Controller {

	function Home()
	{
            parent::Controller();
	}

	function index()
	{
            // On charge la vue index
            $this-&gt;load-&gt;view('index');
	}

	function mail()
	{
            $this-&gt;load-&gt;library('email');
            $this-&gt;email-&gt;set_newline(&quot;\r\n&quot;);
            $this-&gt;email-&gt;from('email@domaine.com', 'Prénom NOM');
            $this-&gt;email-&gt;to('destinataire@domaine.com');
            $this-&gt;email-&gt;subject('Titre du mail');
            $this-&gt;email-&gt;message('Contenu du mail.');

            if($this-&gt;email-&gt;send()) {
                echo 'E-mail envoyé !';
            } else {
                echo 'Oup\'s ! Il y a eu un soucis lors de l\'envoi !';
            }
	}
}
</pre>
<p>Ce code fonctionne parfaitement en "plain/text".</p>
<p>Pour envoyer un mail au format html modifier votre fichier config/email.php :</p>
<pre class="brush: php;">
&lt;?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

// Ajout du format html (mail en html)
$config['mailtype'] = 'html';
// Ajout de l'encodage du mail
$config['charset']  = 'iso-8859-1';

$config['protocol'] = 'smtp';
$config['smtp_host'] = 'smtp.domaine.com';
$config['smtp_port'] = 25;
$config['smtp_user'] = 'mail@domaine.com';
$config['smtp_pass'] = 'motdepasseducomptemail';
</pre>
<p>Et dans votre contrôleur modifier le contenu du message par un contenu avec des balises html comme ceci par exemple :</p>
<pre class="brush: php;">
$this-&gt;email-&gt;message('&lt;p&gt;Contenu du mail &lt;b&gt;en gras&lt;/b&gt;.&lt;/p&gt;');
</pre>
<p><del>Impossible pour nous d'envoyer un mail au format HTML avec CodeIgniter pour l'instant !<br />
J'ai laissé un message sur le forum de Code Igniter pour voir si ça vient pas du framework directement ou moi qui ai mal compris un truc <img src='http://www.point2zero.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </del></p>
<p><u>Edit</u> : Il fallait ajouter le type d'encodage du mail pour pouvoir envoyer au format HTML <img src='http://www.point2zero.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.point2zero.net/blog/2010/01/04/envoi-de-mail-avec-codeigniter/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>jQuery + CodeIgniter + Référencement</title>
		<link>http://www.point2zero.net/blog/2009/12/31/jquery-code-igniter-referencement/</link>
		<comments>http://www.point2zero.net/blog/2009/12/31/jquery-code-igniter-referencement/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 14:29:33 +0000</pubDate>
		<dc:creator>ChoiZ</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[xHTML]]></category>

		<guid isPermaLink="false">http://www.point2zero.net/blog/?p=927</guid>
		<description><![CDATA[
			
				
			
		
Sur un site j'utilise CodeIgniter et un plug in jQuery pour la navigation (sans recharger tout le contenu).
La navigation comme ça c'est bien mais ça ne fonctionne pas partout et pour le référencement c'est pas terrible.
Donc je vais vous expliquer les différentes modifications que j'ai fait dans mon code source de base pour pouvoir référencer [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.point2zero.net%2Fblog%2F2009%2F12%2F31%2Fjquery-code-igniter-referencement%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.point2zero.net%2Fblog%2F2009%2F12%2F31%2Fjquery-code-igniter-referencement%2F&amp;source=Point2Zero+%5BBlog%5D&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Sur un site j'utilise CodeIgniter et un plug in jQuery pour la navigation (sans recharger tout le contenu).</p>
<p>La navigation comme ça c'est bien mais ça ne fonctionne pas partout et pour le référencement c'est pas terrible.</p>
<p>Donc je vais vous expliquer les différentes modifications que j'ai fait dans mon code source de base pour pouvoir référencer correctement le site avec la navigation en "AJAX".</p>
<p>Dans un premier temps j'ai utiliser le Framework PHP CodeIgniter : <a href="http://www.codeigniter.com">http://www.codeigniter.com</a></p>
<p>Ensuite j'ai téléchargé la librairie jQuery : <a href="http://www.jQuery.com">http://www.jQuery.com</a> ainsi que le plugin jQuery.History disponible ici : <a href="http://www.mikage.to/jquery/jquery_history.html">http://www.mikage.to/jquery/jquery_history.html</a></p>
<p>Par défaut les adresses de Code Igniter sont du genre : /index.php/class/méthode etc... ce qui est vraiment pas optimum pour le référencement j'ai donc décidé de supprimer le "index.php/" pour cela j'utilise un fichier .htaccess avec les paramètres suivants :</p>
<pre class="brush: xml;">
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]
</pre>
<p>Ce qui me permet d'avoir : /accueil/login à la place de : /index.php/accueil/login<br />
Ou d'avoir /accueil à la place de : /index.php/accueil</p>
<p>J'ai créer dans /application/controllers un contrôleur que j'ai nommé "page". Ce contrôleur appellera la page demandé avec un header et un footer.</p>
<pre class="brush: php;">
class Page extends Controller {

	function Page()
	{
		parent::Controller();
	}

	function index()
	{
		// Charge la page : /application/views/accueil.php
		$data['main_content'] = 'accueil';
		$this-&gt;load-&gt;view('includes/template', $data);
	}

	function contact()
	{
		// Charge la page : /application/views/contact.php
		$data['main_content'] = 'contact';
		$this-&gt;load-&gt;view('includes/template', $data);
	}

}
</pre>
<p>Ensuite dans le dossier /application/views j'ai un dossier "includes" qui contient :<br />
header.php</p>
<pre class="brush: xml;">
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;  dir=&quot;ltr&quot; lang=&quot;en&quot;&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot; /&gt;
&lt;title&gt;&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
</pre>
<p>template.php</p>
<pre class="brush: php;">
// Header du site
&lt;?php $this-&gt;load-&gt;view('includes/header'); ?&gt;
// Vue chargé par la variable $main_content
&lt;?php $this-&gt;load-&gt;view($main_content); ?&gt;
// Footer du site
&lt;?php $this-&gt;load-&gt;view('includes/footer'); ?&gt;
</pre>
<p>footer.php</p>
<pre class="brush: xml;">
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>Ajouter dans votre htaccess une ligne par page que vous voulez créer à noté on appel toujours "page" qui est notre contrôleur et "accueil" qui est notre méthode <img src='http://www.point2zero.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<pre class="brush: xml;">
RewriteRule ^accueil$ /index.php/page/accueil/ [L]
RewriteRule ^contact$ /index.php/page/contact/ [L]
</pre>
<p>Donc on peut créer un menu dans /application/views/includes/header.php</p>
<pre class="brush: xml;">
&lt;div id=&quot;navigation&quot;&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;/accueil&quot;&gt;Accueil&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;/contact&quot;&gt;Contact&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;
</pre>
<p>Ce menu fonctionnera parfaitement avec tous les navigateurs par contre il rechargera a chaque fois tous les éléments : header.php template.php et footer.php</p>
<p>Pour ne pas recharger a chaque fois tous les éléments on peut utilise le plugin jQuery.History. Ce plug in fonctionne avec des liens avec l'attribut rel="history" et avec des ancres donc des liens avec des #page etc...</p>
<p>J'ai donc fait un petit code en jQuery qui modifie le menu précédent par le code :</p>
<pre class="brush: xml;">
&lt;div id=&quot;navigation&quot;&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;a rel=&quot;history&quot; href=&quot;#accueil&quot;&gt;Accueil&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a rel=&quot;history&quot; href=&quot;#contact&quot;&gt;Contact&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/div&gt;
</pre>
<p>Le script jQuery qui permet de modifier le menu a la volée est le suivant :</p>
<pre class="brush: jscript;">
    $(document).ready(function() {
        /* Pour chaque element a qui se trouve dans un li dans un ul dans un element id=&quot;navigation&quot; */
        $(&quot;#navigation ul li a&quot;).each(function(){
            /* On recupere le href et on coupe le slash */
            var ancre = $(this).attr(&quot;href&quot;).split('/');
            /* On ajoute l'attribut rel avec la valeur history */
            $(this).attr(&quot;rel&quot;,&quot;history&quot;);
            /* On modifie l'attribut href par le nouveau avec le # a la place du slash */
            $(this).attr(&quot;href&quot;,&quot;#&quot; + ancre[1]);
        });
    });
</pre>
<p>Si le navigateur accepte jQuery et le Javascript alors les liens seront de la forme #lien et chargé grâce au plugin jQuery History sinon les liens seront de la forme /lien <img src='http://www.point2zero.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>A l'an prochain bon réveillon <img src='http://www.point2zero.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.point2zero.net/blog/2009/12/31/jquery-code-igniter-referencement/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CodeIgniter</title>
		<link>http://www.point2zero.net/blog/2009/12/20/code-igniter/</link>
		<comments>http://www.point2zero.net/blog/2009/12/20/code-igniter/#comments</comments>
		<pubDate>Sat, 19 Dec 2009 23:21:57 +0000</pubDate>
		<dc:creator>ChoiZ</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.point2zero.net/blog/?p=922</guid>
		<description><![CDATA[
			
				
			
		
Depuis quelques temps je me suis mis à utiliser CodeIgniter, un framework PHP.

Pour utiliser CodeIgniter vous devez avoir :
- PHP version 4.3.2 ou supérieur.
- Une base de donnée (optionnel) mais utile lors de la création d'applications ou de sites web tel que : MySQL 4.1 ou supérieur, MySQLi, MS SQL, Postgres, Oracle, SQLite, ou ODBC.
Pour [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.point2zero.net%2Fblog%2F2009%2F12%2F20%2Fcode-igniter%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.point2zero.net%2Fblog%2F2009%2F12%2F20%2Fcode-igniter%2F&amp;source=Point2Zero+%5BBlog%5D&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Depuis quelques temps je me suis mis à utiliser CodeIgniter, un framework PHP.<br />
<a href="http://www.codeigniter.com/"><img src="http://www.point2zero.net/blog/wp-content/uploads/2009/12/ci_logo_flame.jpg" alt="" title="ci_logo_flame" width="150" height="164" class="aligncenter size-full wp-image-923" /></a></p>
<p>Pour utiliser CodeIgniter vous devez avoir :<br />
- PHP version 4.3.2 ou supérieur.<br />
- Une base de donnée (optionnel) mais utile lors de la création d'applications ou de sites web tel que : MySQL 4.1 ou supérieur, MySQLi, MS SQL, Postgres, Oracle, SQLite, ou ODBC.</p>
<p>Pour utiliser CodeIgniter télécharger la dernière version sur <a href="http://www.codeigniter.com/">le site officiel</a>. (Actuellement c'est la version : 1.7.2)<br />
Ensuite décompressez les fichiers et placez les dans le répertoire de votre serveur web. Puis ouvrir le fichier de configuration qui se trouve dans application/config/config.php avec un éditeur de texte pour définir l'url de base de votre site. Vous pouvez également définir votre clé de chiffrement pour vos sessions.<br />
Si vous voulez utiliser les bases de données éditer également le fichier application/config/database.php et définir les différents paramètres de connexion à votre base.</p>
<p>CodeIgniter utilise le modèle MVC "Model View Controler" et il est sous licence BSD.<br />
Je vous invite a voir les différents <a href="http://codeigniter.com/user_guide/overview/cheatsheets.html">Cheasheets</a> qui vous permettrons de vous y retrouver au début, ainsi que d'utiliser <a href="http://codeigniter.com/user_guide/index.html">la documentation</a> disponible en ligne.</p>
<p>Pour commencer également n'hésitez pas a faire un tour dans la rubrique "<a href="http://codeigniter.com/tutorials/">VideoTutorial</a>" pour voir des tutoriels (dont un qui permet la création d'un blog).</p>
<p>N'hésitez pas a ajouter des commentaires si vous avez des questions ou nous contacter via twitter <a href="http://twitter.com/point2zero" rel="nofollow" target="_blank">@point2zero</a> à bientôt !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.point2zero.net/blog/2009/12/20/code-igniter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Faire des commentaires efficaces !</title>
		<link>http://www.point2zero.net/blog/2009/08/24/faire-des-commentaires-efficaces/</link>
		<comments>http://www.point2zero.net/blog/2009/08/24/faire-des-commentaires-efficaces/#comments</comments>
		<pubDate>Mon, 24 Aug 2009 11:23:55 +0000</pubDate>
		<dc:creator>ChoiZ</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.point2zero.net/blog/?p=896</guid>
		<description><![CDATA[
			
				
			
		
Bonjour,
Voilà une petite astuce que m'as indiqué un ami (Yohann) pour faire des commentaires efficaces.
Prenons un commentaire multiligne tel que :

/* Debut du commentaire
Long commentaire avec beaucoup de lignes...
et même du code PHP tel que
echo&#34;bla bla&#34;;
Fin du commentaire */

Si on veut supprimer ce commentaire en gardant notre echo on va devoir fermer le premier commentaire [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.point2zero.net%2Fblog%2F2009%2F08%2F24%2Ffaire-des-commentaires-efficaces%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.point2zero.net%2Fblog%2F2009%2F08%2F24%2Ffaire-des-commentaires-efficaces%2F&amp;source=Point2Zero+%5BBlog%5D&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Bonjour,<br />
Voilà une petite astuce que m'as indiqué un ami (Yohann) pour faire des commentaires efficaces.</p>
<p>Prenons un commentaire multiligne tel que :</p>
<pre class="brush: php;">
/* Debut du commentaire
Long commentaire avec beaucoup de lignes...
et même du code PHP tel que
echo&quot;bla bla&quot;;
Fin du commentaire */
</pre>
<p>Si on veut supprimer ce commentaire en gardant notre echo on va devoir fermer le premier commentaire avec */ puis ouvrir le deuxieme avec /* tel que :</p>
<pre class="brush: php;">
/* Debut du commentaire
Long commentaire avec beaucoup de lignes...
et même du code PHP tel que */
echo&quot;bla bla&quot;;
/* Fin du commentaire */
</pre>
<p>Voilà une astuce encore plus simple pour gagner du temps...</p>
<pre class="brush: php;">
/* Debut du commentaire
Long commentaire avec beaucoup de lignes...
et même du code PHP tel que
echo&quot;bla bla&quot;;
/* Fin du commentaire */
</pre>
<p>On ouvre une nouvelle fois un commentaire à la fin permet de gagner du temps ! Entre les lignes de code il suffit juste que j'ajoute un */ devant le "echo" pour fermer le premier commentaire <img src='http://www.point2zero.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
L'exemple n'est pas très parlant ici mais c'est bien pratique quand c'est bien utilisé !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.point2zero.net/blog/2009/08/24/faire-des-commentaires-efficaces/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Utilisation d&#039;Url Rewriting avec .htaccess</title>
		<link>http://www.point2zero.net/blog/2009/06/20/utilisation-durl-rewriting-avec-htaccess/</link>
		<comments>http://www.point2zero.net/blog/2009/06/20/utilisation-durl-rewriting-avec-htaccess/#comments</comments>
		<pubDate>Sat, 20 Jun 2009 17:22:55 +0000</pubDate>
		<dc:creator>ChoiZ</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[XSL]]></category>
		<category><![CDATA[xHTML]]></category>

		<guid isPermaLink="false">http://www.point2zero.net/blog/?p=874</guid>
		<description><![CDATA[
			
				
			
		
Voilà un sujet qui va plaire a certains qui souhaitent changer le nom de leurs page ou améliorer le référencement.
Imaginons que vous avez un site web avec des liens tel que :
- index.php?page=accueil
- index.php?page=contact
etc...
Votre page index.php va inclure une page "accueil.php" ou une page "contact.php".
Problème Google ne vas pas référencer ce qu'il y a apres [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.point2zero.net%2Fblog%2F2009%2F06%2F20%2Futilisation-durl-rewriting-avec-htaccess%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.point2zero.net%2Fblog%2F2009%2F06%2F20%2Futilisation-durl-rewriting-avec-htaccess%2F&amp;source=Point2Zero+%5BBlog%5D&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Voilà un sujet qui va plaire a certains qui souhaitent changer le nom de leurs page ou améliorer le référencement.</p>
<p>Imaginons que vous avez un site web avec des liens tel que :<br />
- index.php?page=accueil<br />
- index.php?page=contact<br />
etc...</p>
<p>Votre page index.php va inclure une page "accueil.php" ou une page "contact.php".</p>
<p>Problème Google ne vas pas référencer ce qu'il y a apres le "?" donc il va prendre uniquement "index.php".</p>
<p>Voilà une solution pour vous : "l'url rewriting" ou comment réécrire les urls d'une page.</p>
<p>Nous voulons a la place de ces adresses : accueil.html et contact.html, donc dans un premier temps on va vérifier que nous avons le module rewriting dans apache qui se nomme "mod_rewrite".<br />
Maintenant nous allons faire un fichier ".htaccess" avec ce qui suit :</p>
<pre class="brush: xml;">
RewriteEngine On
RewriteRule ^accueil.html$ /index.php?page=accueil [NC,L]
</pre>
<p>La première ligne va permettre d'utiliser le module d'apache "mod_rewrite".<br />
La seconde ligne est plus intéressante c'est elle qui va définir notre page "accueil.html" pointe sur "index.php?page=accueil".<br />
Vous pouvez utiliser les expressions régulières par exemple ^ pour le debut de la ligne et $ pour la fin.<br />
A la fin de la ligne vous pouvez voir des flags entre les crochets.<br />
NC signifie No Case donc pas sensible à la case ! Je peux taper ACCUEIL.HTML ou accueil.html ou AcCuEiL.HtmL si je veux.</p>
<p>D'autres flags existent tel que :</p>
<pre class="brush: xml;">RewriteRule ^forbidden.html$ - [F]</pre>
<p>Le F envoi un code erreur HTTP 403 (Forbidden) le tiret dit qu'il n'y a pas de réécriture d'url.</p>
<pre class="brush: xml;">RewriteRule ^gone.html$ - [G]</pre>
<p>Le G quand a lui renvoi un code erreur HTTP 410 (Gone)</p>
<p>Pour plus d'informations sur les flags : <a href="http://httpd.apache.org/docs/2.2/rewrite/rewrite_flags.html">http://httpd.apache.org/docs/2.2/rewrite/rewrite_flags.html</a><br />
Pour plus d'informations sur l'url Rewriting : <a href="http://httpd.apache.org/docs/2.2/rewrite/">http://httpd.apache.org/docs/2.2/rewrite/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.point2zero.net/blog/2009/06/20/utilisation-durl-rewriting-avec-htaccess/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Nouveaux liens !</title>
		<link>http://www.point2zero.net/blog/2009/06/04/nouveaux-liens/</link>
		<comments>http://www.point2zero.net/blog/2009/06/04/nouveaux-liens/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 19:22:14 +0000</pubDate>
		<dc:creator>ChoiZ</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[xHTML]]></category>

		<guid isPermaLink="false">http://www.point2zero.net/blog/?p=859</guid>
		<description><![CDATA[
			
				
			
		
Une semaine déjà sans faire un billet c'est long je sais...
Voilà donc des nouveaux liens sur la gauche (l'autre gauche ? la droite !  ) qui vous permettrons de découvrir pas mal de sites en jQuery ou d'autres technologies. 
- Function est un site Anglais plutôt bien fait avec pas mal de design de [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.point2zero.net%2Fblog%2F2009%2F06%2F04%2Fnouveaux-liens%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.point2zero.net%2Fblog%2F2009%2F06%2F04%2Fnouveaux-liens%2F&amp;source=Point2Zero+%5BBlog%5D&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Une semaine déjà sans faire un billet c'est long je sais...<br />
Voilà donc des nouveaux liens sur <del datetime="2009-06-04T22:38:27+00:00">la gauche</del> (l'autre gauche ? la droite ! <img src='http://www.point2zero.net/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> ) qui vous permettrons de découvrir pas mal de sites en jQuery ou d'autres technologies. </p>
<p>- Function est un site Anglais plutôt bien fait avec pas mal de design de boutons (avec certains à vendre) et quelques articles qui m'intéressent.<br />
- Nettuts+ est un blog avec pas mal d'articles et de tutoriaux (certains payant également) mais pas mal de contenu est gratuit c'est également un très bon site. N'hésitez pas a voir les sites de la même famille (PSDtuts, Audiotuts etc...).<br />
- Six Revisions je le connais beaucoup moins mais il y a des bons articles également.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.point2zero.net/blog/2009/06/04/nouveaux-liens/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>XSL dans un XML grâce à PHP</title>
		<link>http://www.point2zero.net/blog/2009/05/25/xsl-dans-un-xml-grace-a-php/</link>
		<comments>http://www.point2zero.net/blog/2009/05/25/xsl-dans-un-xml-grace-a-php/#comments</comments>
		<pubDate>Sun, 24 May 2009 22:13:19 +0000</pubDate>
		<dc:creator>ChoiZ</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[XSL]]></category>

		<guid isPermaLink="false">http://www.point2zero.net/blog/?p=829</guid>
		<description><![CDATA[
			
				
			
		
Pour créer un fichier XML en PHP vous avez plusieurs solutions.
La premiére est de créer une variable, d'ajouter vos différentes balises xml, puis de sauver cette variable dans un fichier XML.
Une autre solution est l'utilisation de la classe DOMDocument. Voir la documentation PHP
Le code suivant est un exemple de création d'un XML avec l'intégration d'un [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.point2zero.net%2Fblog%2F2009%2F05%2F25%2Fxsl-dans-un-xml-grace-a-php%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.point2zero.net%2Fblog%2F2009%2F05%2F25%2Fxsl-dans-un-xml-grace-a-php%2F&amp;source=Point2Zero+%5BBlog%5D&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Pour créer un fichier XML en PHP vous avez plusieurs solutions.<br />
La premiére est de créer une variable, d'ajouter vos différentes balises xml, puis de sauver cette variable dans un fichier XML.<br />
Une autre solution est l'utilisation de la classe DOMDocument. <a href="http://fr.php.net/domdocument/" class="chzbouton">Voir la documentation PHP</a><br />
Le code suivant est un exemple de création d'un XML avec l'intégration d'un fichier XSL au XML directement via PHP.</p>
<pre class="brush: php;">
&lt;?php
// Création du nouveau document dans $doc
$doc = new DOMDocument();
// Permet d'afficher le document au format xml correctement
$doc-&gt;formatOutput = true;
// On ajoute notre XSL
$xmlstylesheet = new DOMProcessingInstruction('xml-stylesheet', 'href=&quot;fichier.xsl&quot; type=&quot;text/xsl&quot;');
// On ajoute notre ligne au document
$doc-&gt;appendChild($xmlstylesheet);
// On affiche le document xml créer
echo $doc-&gt;saveXML();
?&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.point2zero.net/blog/2009/05/25/xsl-dans-un-xml-grace-a-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
