<?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</title>
	<atom:link href="http://www.point2zero.net/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.point2zero.net/blog</link>
	<description>Bring to you Information Technology</description>
	<lastBuildDate>Sun, 24 Jan 2010 17:31:57 +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>Quelques plugins jQuery utiles</title>
		<link>http://www.point2zero.net/blog/2010/01/24/quelques-plugins-jquery-utiles/</link>
		<comments>http://www.point2zero.net/blog/2010/01/24/quelques-plugins-jquery-utiles/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 17:31:57 +0000</pubDate>
		<dc:creator>ChoiZ</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.point2zero.net/blog/?p=972</guid>
		<description><![CDATA[Voici trois plugin jQuery que j'utilise relativement souvent :
- Time ago


Permet de modifier un timestamp en : "Il y a 4 minutes" ou "Il y a 8 jours", "Il y a un mois" comme ce qu'on peut voir dans les timeline de Twitter ou Facebook.
- jQuery Validation


Permet la validation des champs d'un formulaire avant d'être [...]]]></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%2F24%2Fquelques-plugins-jquery-utiles%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.point2zero.net%2Fblog%2F2010%2F01%2F24%2Fquelques-plugins-jquery-utiles%2F" height="61" width="51" /></a></div><p>Voici trois plugin jQuery que j'utilise relativement souvent :</p>
<p>- <a href="http://timeago.yarp.com/">Time ago</a><br />
<a href="http://timeago.yarp.com/"><img src="http://www.point2zero.net/blog/wp-content/uploads/2010/01/TimeAgo.png" alt="" title="TimeAgo" width="371" height="111" class="alignleft size-full wp-image-973" /></a><br />
<br class="clear" /><br />
Permet de modifier un timestamp en : "Il y a 4 minutes" ou "Il y a 8 jours", "Il y a un mois" comme ce qu'on peut voir dans les timeline de Twitter ou Facebook.</p>
<p>- <a href="http://bassistance.de/jquery-plugins/jquery-plugin-validation/">jQuery Validation</a><br />
<a href="http://bassistance.de/jquery-plugins/jquery-plugin-validation/"><img src="http://www.point2zero.net/blog/wp-content/uploads/2010/01/Screen-shot-2010-01-24-at-18.25.05.png" alt="" title="jQuery Validation" width="541" height="252" class="alignleft size-full wp-image-974" /></a><br />
<br class="clear" /><br />
Permet la validation des champs d'un formulaire avant d'être envoyé.</p>
<p>- <a href="http://deepliquid.com/projects/Jcrop">jCrop</a><br />
<a href="http://deepliquid.com/projects/Jcrop"><img src="http://www.point2zero.net/blog/wp-content/uploads/2010/01/jCrop.png" alt="" title="jCrop" width="427" height="322" class="alignleft size-full wp-image-975" /></a><br />
<br class="clear" /><br />
Permet de retailler une image sur un site internet. J'avais fait ce genre de code en javascript + php (sur le site de Live9 pour l'envoi des pochettes) avant de trouver ce plugin jQuery.</p>
<p>N'hésitez pas a partager vous aussi les différents plugins que vous utilisez régulièrement.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.point2zero.net/blog/2010/01/24/quelques-plugins-jquery-utiles/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ranger ses onglets, gagner de la mémoire</title>
		<link>http://www.point2zero.net/blog/2010/01/24/ranger-ses-onglets-gagner-de-la-memoire/</link>
		<comments>http://www.point2zero.net/blog/2010/01/24/ranger-ses-onglets-gagner-de-la-memoire/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 15:30:25 +0000</pubDate>
		<dc:creator>ChoiZ</dc:creator>
				<category><![CDATA[Logiciel]]></category>
		<category><![CDATA[Travail]]></category>

		<guid isPermaLink="false">http://www.point2zero.net/blog/?p=965</guid>
		<description><![CDATA[J'ai un gros problème de gestion d'onglet, généralement j'ai entre 50 à 80 onglets sur Firefox. Je ne range jamais ces onglets (certains vont dire mais il y a des marques pages...) C'est vrai mais j'utilise pas les marques pages comme ça. Les marques pages c'est pour des sites que je visite rarement. Par contre [...]]]></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%2F24%2Franger-ses-onglets-gagner-de-la-memoire%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.point2zero.net%2Fblog%2F2010%2F01%2F24%2Franger-ses-onglets-gagner-de-la-memoire%2F" height="61" width="51" /></a></div><p>J'ai un gros problème de gestion d'onglet, généralement j'ai entre 50 à 80 onglets sur Firefox. Je ne range jamais ces onglets (certains vont dire mais il y a des marques pages...) C'est vrai mais j'utilise pas les marques pages comme ça. Les marques pages c'est pour des sites que je visite rarement. Par contre les blogs, sites que je visite souvent je ne ferme pas les onglets.</p>
<p>J'utilise donc un plugin firefox TooManyTabs qui trie par "groupe" les onglets ouverts. </p>
<p><a href="http://www.point2zero.net/blog/wp-content/uploads/2010/01/Screen-shot-2010-01-24-at-16.26.06.png"><img src="http://www.point2zero.net/blog/wp-content/uploads/2010/01/Screen-shot-2010-01-24-at-18.03.04.png" alt="" title="Screen shot" width="681" height="260" class="aligncenter size-full wp-image-969" /></a></p>
<p>J'ai donc créer des groupes : travail, a lire, blog, réseaux sociaux, etc...<br />
Il suffit de selectionner sur le groupe ou ont veut ranger l'onglet puis de cliquer au niveau du favicon de l'onglet pour ranger l'onglet dans le groupe.<br />
On peut ensuite "resortir" l'onglet du groupe pour le voir.</p>
<p>A savoir une fois l'onglet "ranger" dans un groupe le plugin supprime l'onglet de la mémoire de Firefox (donc on gagne en performance).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.point2zero.net/blog/2010/01/24/ranger-ses-onglets-gagner-de-la-memoire/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<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"><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" height="61" width="51" /></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>2</slash:comments>
		</item>
		<item>
		<title>Nouveautés 2010 !</title>
		<link>http://www.point2zero.net/blog/2010/01/01/nouveautes-2010/</link>
		<comments>http://www.point2zero.net/blog/2010/01/01/nouveautes-2010/#comments</comments>
		<pubDate>Fri, 01 Jan 2010 16:27:42 +0000</pubDate>
		<dc:creator>ChoiZ</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Point2Zero]]></category>

		<guid isPermaLink="false">http://www.point2zero.net/blog/?p=948</guid>
		<description><![CDATA[Cette année quelques choses changeront :
Le support d'IE6 ne sera plus pris en compte quel que soit le projet. Internet Explorer 7 et 8 étant en place depuis déjà pas mal de temps.
Dates de sortie :
- Le 18 Octobre 2006 pour Internet Explorer 7 (soit 3ans et 3mois)
- Le 11 Juin 2009 pour Internet Explorer [...]]]></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%2F01%2Fnouveautes-2010%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.point2zero.net%2Fblog%2F2010%2F01%2F01%2Fnouveautes-2010%2F" height="61" width="51" /></a></div><p>Cette année quelques choses changeront :<br />
Le support d'IE6 ne sera plus pris en compte quel que soit le projet. Internet Explorer 7 et 8 étant en place depuis déjà pas mal de temps.<br />
Dates de sortie :<br />
- Le 18 Octobre 2006 pour Internet Explorer 7 (soit 3ans et 3mois)<br />
- Le 11 Juin 2009 pour Internet Explorer 8 (soit 6mois)<br />
Il est donc temps je pense d'abandonner Internet Explorer 6 qui a eu 8ans en Octobre dernier !</p>
<p>Sur le blog faire de plus en plus d'articles techniques sur des frameworks tel que : jQuery et CodeIgniter et des tips sur CSS3...</p>
<p>Et d'autres points sur lesquels nous travaillons : le développement d'applications (pc, mac, mobile), d'interfaces et de site web, l'hébergement, l'infogérance, la téléphonie et les cours également (les cours de développement d'application Twitter, Facebook, jQuery etc...).<br />
Dans les cartons pour le début de l'année la sortie d'un Scheduler Radio !</p>
<p>N'hésitez pas a prendre contact avec nous si vous avez des questions ou besoin d'informations.<br />
Meilleurs Vœux pour l'année 2010 !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.point2zero.net/blog/2010/01/01/nouveautes-2010/feed/</wfw:commentRss>
		<slash:comments>0</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"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.point2zero.net%2Fblog%2F2009%2F12%2F31%2Fjquery-code-igniter-referencement%2F" height="61" width="51" /></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>0</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"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.point2zero.net%2Fblog%2F2009%2F12%2F20%2Fcode-igniter%2F" height="61" width="51" /></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>Protéger un répertoire grâce à un htaccess</title>
		<link>http://www.point2zero.net/blog/2009/11/04/proteger-un-repertoire-grace-a-un-htaccess/</link>
		<comments>http://www.point2zero.net/blog/2009/11/04/proteger-un-repertoire-grace-a-un-htaccess/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 13:39:16 +0000</pubDate>
		<dc:creator>ChoiZ</dc:creator>
				<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://www.point2zero.net/blog/?p=916</guid>
		<description><![CDATA[Aujourd'hui j'ai voulu protéger un répertoire grâce a un fichier htaccess.
Il y a des centaines de sites qui indiquent comment faire ça de façon simple "créer votre fichier .htpasswd, coller ceci, créer votre htaccess et coller ceci..."
Je créer très souvent des fichiers htaccess / htpasswd de la manière suivante (en ligne de commande) :
Pour savoir [...]]]></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%2F11%2F04%2Fproteger-un-repertoire-grace-a-un-htaccess%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.point2zero.net%2Fblog%2F2009%2F11%2F04%2Fproteger-un-repertoire-grace-a-un-htaccess%2F" height="61" width="51" /></a></div><p>Aujourd'hui j'ai voulu protéger un répertoire grâce a un fichier htaccess.</p>
<p>Il y a des centaines de sites qui indiquent comment faire ça de façon simple "créer votre fichier .htpasswd, coller ceci, créer votre htaccess et coller ceci..."</p>
<p>Je créer très souvent des fichiers htaccess / htpasswd de la manière suivante (en ligne de commande) :</p>
<p>Pour savoir ou je me trouve par rapport a la racine de mon serveur j'utilise "pwd" :</p>
<pre class="brush: xml;">
$ pwd
/home/sites/www.point2zero.net/exemples
</pre>
<p>Ensuite je créer mon fichier .htaccess</p>
<pre class="brush: xml;">
$ vi .htaccess
</pre>
<p>Dedans j'ajoute (grâce à la touche i pour passer en mode insertion) :</p>
<pre class="brush: xml;">
AuthName &quot;Point2Zero&quot;
AuthType Basic
AuthUserFile &quot;/home/sites/www.point2zero.net/exemples/.htpasswd&quot;
Require valid-user
</pre>
<p>Le texte de la première ligne sera le message affiché dans ma fenêtre de login.<br />
Dans le AuthUserFile nous allons spécifier le chemin (grâce a la commande précédente pwd) et nous ajoutons à la fin un /.htpasswd qui sera le fichier avec les identifiant et mot de passe.</p>
<p>Sauvez et quitter votre fichier grâce à ":wq"</p>
<p>Maintenant créons le fichier ".htpasswd" grâce à la commande htpasswd :</p>
<pre class="brush: xml;">
$ htpasswd -bcm .htpasswd login p4ssw0rd
</pre>
<p>Détail de la commande :<br />
l'option "b" : permet d'utiliser un fichier pour sauvegarder les informations<br />
l'option "c" : permet de créer le fichier (a enlever lors du 2eme ajout si on veut ajouter plusieurs utilisateurs dans le même fichier)<br />
l'option "m" : permet d'encrypter le mot de passe en MD5<br />
ensuite on indique le fichier, le login et le mot de passe.</p>
<p>Voilà vous savez maintenant <a href="http://www.point2zero.net/exemples">sécuriser un dossier</a> grâce à deux fichier htaccess et htpasswd !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.point2zero.net/blog/2009/11/04/proteger-un-repertoire-grace-a-un-htaccess/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Débuter avec Vi, Vim, Gvim</title>
		<link>http://www.point2zero.net/blog/2009/10/24/debuter-avec-vi-vim-gvim/</link>
		<comments>http://www.point2zero.net/blog/2009/10/24/debuter-avec-vi-vim-gvim/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 00:14:26 +0000</pubDate>
		<dc:creator>ChoiZ</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Logiciel]]></category>

		<guid isPermaLink="false">http://www.point2zero.net/blog/?p=909</guid>
		<description><![CDATA[Certaines personnes savent que j'utilise très souvent l'éditeur de texte Vim.
Cet éditeur très puissant (a mon goût) permet de faire tout un tas de choses, sur divers systèmes d'exploitations (Windows, Linux, Mac Os...).
Au début, l'utilisation n'est pas facile mais au fil du temps, on peut se retrouver a faire du copier coller de certains fichier [...]]]></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%2F10%2F24%2Fdebuter-avec-vi-vim-gvim%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.point2zero.net%2Fblog%2F2009%2F10%2F24%2Fdebuter-avec-vi-vim-gvim%2F" height="61" width="51" /></a></div><p>Certaines personnes savent que j'utilise très souvent l'éditeur de texte Vim.</p>
<p>Cet éditeur très puissant (a mon goût) permet de faire tout un tas de choses, sur divers systèmes d'exploitations (Windows, Linux, Mac Os...).</p>
<p>Au début, l'utilisation n'est pas facile mais au fil du temps, on peut se retrouver a faire du copier coller de certains fichier dans d'autres dans une fenêtre (en ssh par exemple).</p>
<p><a href="http://www.point2zero.net/blog/wp-content/uploads/2009/10/Capture-d’écran-2009-10-24-à-02.17.42.png"><img src="http://www.point2zero.net/blog/wp-content/uploads/2009/10/Capture-d’écran-2009-10-24-à-02.17.42-300x152.png" alt="Vi" title="Vi" width="300" height="152" class="alignleft size-medium wp-image-912" /></a><br class="clear" /></p>
<p>Facilement on peut "découper" notre fenêtre en deux par exemple l'une au dessus de l'autre avec la commande ":new"</p>
<p>Pour la "découper" dans l'autre sens pour en avoir deux l'une a côté de l'autre il suffit d'utiliser la commande ":vsplit"</p>
<p>Avec la commande ":vsplit" si un fichier est déjà ouvert il sera ouvert deux fois, tandis qu'avec la commande ":new" une fenêtre vide sera créé.</p>
<p>Pour ouvrir un fichier dans une des fenêtre vide il suffit d'utiliser ":e chemin/fichier" par exemple ":e /home/choiz/fichier.txt".</p>
<p>Pour passer d'une fenêtre a une autre utilisez "ctrl + w, w" ou "ctrl + w, une flèche" pour désigner la fenêtre du haut du bas droite ou gauche.</p>
<p>Pour fermer une fenêtre allez dans celle-ci et utiliser ":q" ou ":wq" si vous voulez sauvegarder le fichier <img src='http://www.point2zero.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Plus d'informations sur "<a href="http://L9.fr/n4">le guide de survie VI</a>" et n'hésitez pas a télécharger et ajouter <a href="http://L9.fr/n3">mon fichier de configuration .vimrc</a> à la racine du répertoire utilisateur par exemple /home/choiz <img src='http://www.point2zero.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.point2zero.net/blog/2009/10/24/debuter-avec-vi-vim-gvim/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>MySQL : A quoi sert ci dans utf8_general_ci ?</title>
		<link>http://www.point2zero.net/blog/2009/10/13/mysql-a-quoi-sert-ci-dans-utf8_general_ci/</link>
		<comments>http://www.point2zero.net/blog/2009/10/13/mysql-a-quoi-sert-ci-dans-utf8_general_ci/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 14:10:03 +0000</pubDate>
		<dc:creator>ChoiZ</dc:creator>
				<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://www.point2zero.net/blog/?p=899</guid>
		<description><![CDATA[Vous avez sans doute déjà travaillé avec des bases de données tel que MySQL, PostgreSQL ou autre...
Lors de l'utilisation d'une base MySQL on créer des tables. Dans ces tables nous créons différents champs.
Par exemple sur mon site je veux faire un système d'authentification, je vais donc créer une table "login" avec dedans mes utilisateurs et [...]]]></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%2F10%2F13%2Fmysql-a-quoi-sert-ci-dans-utf8_general_ci%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.point2zero.net%2Fblog%2F2009%2F10%2F13%2Fmysql-a-quoi-sert-ci-dans-utf8_general_ci%2F" height="61" width="51" /></a></div><p>Vous avez sans doute déjà travaillé avec des bases de données tel que MySQL, PostgreSQL ou autre...</p>
<p>Lors de l'utilisation d'une base MySQL on créer des tables. Dans ces tables nous créons différents champs.</p>
<p>Par exemple sur mon site je veux faire un système d'authentification, je vais donc créer une table "login" avec dedans mes utilisateurs et mots de passe par exemple.</p>
<p>Lors de la création de la table vous avez plusieurs choix déjà le nombre de colonnes pour savoir le nombre de champs :<br />
<img class="alignleft size-medium wp-image-900" title="colonnes" src="http://www.point2zero.net/blog/wp-content/uploads/2009/10/Capture-d’écran-2009-10-13-à-15.42.29-300x34.png" alt="colonnes" width="300" height="34" /><br />
<br class="clear" /></p>
<p>Dans notre cas 3 :<br />
L'id, L'identifiant, Le mot de passe.</p>
<p>Ensuite pour chaque champs nous devons indiquer :<br />
- Un nom (id, login, pass)<br />
- Un type (int, varchar, text etc...)<br />
- La taille ou La valeur par exemple 255 pour un varchar ou par exemple ("yes", "no") si on fait un enum et qu'on veut une réponse prédéfinie<br />
- L'interclassement :</p>
<p>Il comprend :</p>
<p>-&gt; le jeu de caractère (ASCII, UTF8, LATIN1 etc...)<br />
-&gt; l'interclassement ou collation (Swedish, French ...)<br />
-&gt; le "_ci" ou "_cs".</p>
<p>A quoi sert l'interclassement ? Lorsque l'on utilise ORDER BY l'interclassement va en fonction de la langue ordonner différemment les résultats. Donc ça peut être très utile !</p>
<p>Alors qu'est ce que le fameux "_ci", "_cs" "_bin" ?<br />
"_ci" pour Case Insensitive,<br />
"_cs" pour Case Sensitive<br />
"_bin" pour Binaire.</p>
<p>Voici les enregistrements dans ma table :</p>
<pre class="brush: sql;">
id login pass
1 ChoiZ 123456
2 choiz azerty
3 cHOIz 654321
4 CHOIZ AzertY
5 test test
</pre>
<p>Imaginons que vous vouliez sélectionner le champ login dans votre table, si il est en "_ci" :</p>
<pre class="brush: sql;">SELECT password FROM users WHERE login=&quot;ChoiZ&quot;</pre>
<pre class="brush: sql;">SELECT password FROM users WHERE login=&quot;choiz&quot;</pre>
<p>retournerons les mêmes résutats soit :<br />
Pour le premier et le second cas les colonnes : </p>
<pre class="brush: sql;">
1 ChoiZ 123456
2 choiz azerty
3 cHOIz 654321
4 CHOIZ AzertY
</pre>
<p>En revanche si "_cs" est utilisé :</p>
<pre class="brush: sql;">SELECT password FROM users WHERE login=&quot;ChoiZ&quot;</pre>
<p>cette requette retournera uniquement la premiere ligne soit : </p>
<pre class="brush: sql;">
1 ChoiZ 123456
</pre>
<pre class="brush: sql;">SELECT password FROM users WHERE login=&quot;choiz&quot;</pre>
<p>cette requette retournera uniquement la seconde ligne soit : </p>
<pre class="brush: sql;">
2 choiz azerty
</pre>
<p>J'espère que ce billet vous sera utile dans vos futurs développements.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.point2zero.net/blog/2009/10/13/mysql-a-quoi-sert-ci-dans-utf8_general_ci/feed/</wfw:commentRss>
		<slash:comments>4</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"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.point2zero.net%2Fblog%2F2009%2F08%2F24%2Ffaire-des-commentaires-efficaces%2F" height="61" width="51" /></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>
	</channel>
</rss>
