<?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>Tux-planet &#187; Développement</title>
	<atom:link href="http://www.tux-planet.fr/category/scripts/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tux-planet.fr</link>
	<description>Linux et les Logiciels Libres</description>
	<lastBuildDate>Tue, 07 Feb 2012 12:50:42 +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>Statistiques d&#039;utilisation de WordPress sur une année</title>
		<link>http://www.tux-planet.fr/statistiques-dutilisation-de-wordpress-sur-une-annee/</link>
		<comments>http://www.tux-planet.fr/statistiques-dutilisation-de-wordpress-sur-une-annee/#comments</comments>
		<pubDate>Fri, 07 Jan 2011 08:12:56 +0000</pubDate>
		<dc:creator>pti-seb</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[statistiques]]></category>
		<category><![CDATA[tux-planet]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.tux-planet.fr/?p=4530</guid>
		<description><![CDATA[Nicolargo vient de nous publier quelques astuces qui permettent d'obtenir des statistiques d'utilisation du CMS WordPress sur une année. J'ai trouvé l'idée géniale et du coup, voici les résultats des requêtes pour Tux-planet sur l'année 2010. Nombre de billets publiés cette année : 181 SELECT COUNT(*) FROM wp_posts WHERE post_status="publish" AND post_date BETWEEN '2010-01-01' AND [...]<p><br/><hr><a href="http://www.tux-planet.fr/statistiques-dutilisation-de-wordpress-sur-une-annee/">Statistiques d'utilisation de WordPress sur une année</a> est un article original provenant de <a href="http://www.tux-planet.fr">Tux-planet</a> - &copy;Copyright - 2005 Toutes reproductions interdites.</p>
]]></description>
			<content:encoded><![CDATA[<p><img src="/public/images/icons/wordpress.png" alt="Wordpress" class="aligncenter" /><br />
Nicolargo vient de <a href="http://blog.nicolargo.com/2011/01/4-hacks-pour-extraire-des-statistiques-de-wordpress.html">nous publier</a> quelques astuces qui permettent d'obtenir des statistiques d'utilisation du <acronym title="Content Management System">CMS</acronym> WordPress sur une année. J'ai trouvé l'idée géniale et du coup, voici les résultats des requêtes pour Tux-planet sur l'année 2010.</p>
<p><span id="more-4530"></span></p>
<p><a href="/public/images/photos/divers/cours-de-math.jpg" class="lightview" rel="gallery['4530']" title="Cours de math"><img src="/public/images/photos/divers/cours-de-math.jpg" alt="Cours de math" class="aligncenter" width="620" /></a></p>
<p>Nombre de billets publiés cette année : 181</p>
<blockquote><p>
SELECT COUNT(*) FROM wp_posts WHERE post_status="publish" AND post_date BETWEEN '2010-01-01' AND '2010-12-31';
</p></blockquote>
<p>Nombre de commentaires pour cette année : 2271</p>
<blockquote><p>
SELECT SUM(comment_count) FROM wp_posts WHERE post_status="publish" AND post_date BETWEEN '2010-01-01' AND '2010-12-31'
</p></blockquote>
<p>Liste des 10 billets les plus commentés en 2010 :</p>
<ul>
<li>5 Licences Pro de CrossOver 9 à gagner : 143</li>
<li>Richard Stallman - une biographie autorisée : 86</li>
<li>Comment forcer la fermeture d'un hébergement mutualisé chez OVH : 53</li>
<li>Nokia N900 vs iPhone 3GS vs Nexus One vs Palm Pre : 48</li>
<li>Comparatif HTC Desire HD vs iPhone 4 vs Samsung Galaxy S : 48</li>
<li>Ubuntu 10.04 Lucid Lynx : 43</li>
<li>Comparaison entre 5 navigateurs Internet : 39</li>
<li>Un thème Conky pour Ubuntu Lucid Lynx : 37</li>
<li>Content-Aware Fill existe aussi sous The Gimp : 36</li>
<li>Les jeux payants font leur apparition dans la logithèque Ubuntu : 36</li>
</ul>
<blockquote><p>
SELECT post_title,comment_count FROM wp_posts WHERE post_status="publish" AND post_date BETWEEN '2010-01-01' AND '2010-12-31' ORDER BY comment_count DESC LIMIT 0,10;
</p></blockquote>
<p>Nom des personnes qui postent le plus de commentaires :</p>
<ul>
<li>pti-seb : 442</li>
<li>Muy_Bien : 64</li>
<li>Anonyme : 53</li>
<li>Tristan : 24</li>
<li>Droide : 20</li>
<li>JackDaniels93 : 20</li>
<li>Dere011 : 19</li>
<li>Plonk : 18</li>
<li>Kegeruneku : 16</li>
<li>toto : 16</li>
</ul>
<blockquote><p>
SELECT comment_author,COUNT(comment_count) AS F01 FROM wp_comments,wp_posts WHERE comment_approved=1 AND comment_post_ID=ID AND comment_date BETWEEN '2010-01-01' AND '2010-12-31' GROUP BY comment_author ORDER BY F01 DESC LIMIT 0,10;
</p></blockquote>
<p>Je profite donc de l'occasion pour remercier tous ceux qui viennent lire et commenter les articles, et vous souhaite une excellente année 2011.</p><p><br/><hr><a href="http://www.tux-planet.fr/statistiques-dutilisation-de-wordpress-sur-une-annee/">Statistiques d'utilisation de WordPress sur une année</a> est un article original provenant de <a href="http://www.tux-planet.fr">Tux-planet</a> - &copy;Copyright - 2005 Toutes reproductions interdites.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tux-planet.fr/statistiques-dutilisation-de-wordpress-sur-une-annee/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Twitter Hack : follow and unfollow script</title>
		<link>http://www.tux-planet.fr/twitter-hack-follow-and-unfollow-script/</link>
		<comments>http://www.tux-planet.fr/twitter-hack-follow-and-unfollow-script/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 17:56:37 +0000</pubDate>
		<dc:creator>pti-seb</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.tux-planet.fr/?p=4019</guid>
		<description><![CDATA[Voici un script php, sous Licence AGPLv3, qui utilise l'API de Twitter afin de follower ou unfollower une liste de personnes contenues dans un fichier. J'ai juste développé ce script pour comprendre comment fonctionnent les spammeurs sur Twitter, je vous déconseille donc de vous en servir sur votre compte principal, sous peine d'être banni en [...]<p><br/><hr><a href="http://www.tux-planet.fr/twitter-hack-follow-and-unfollow-script/">Twitter Hack : follow and unfollow script</a> est un article original provenant de <a href="http://www.tux-planet.fr">Tux-planet</a> - &copy;Copyright - 2005 Toutes reproductions interdites.</p>
]]></description>
			<content:encoded><![CDATA[<p><img src="/public/images/icons/twitter.png" alt="Twitter Hack" class="aligncenter" /><br />
Voici un script php, sous Licence AGPLv3, qui utilise l'<acronym title="Application Programming Interface">API</acronym> de Twitter afin de follower ou unfollower une liste de personnes contenues dans un fichier. J'ai juste développé ce script pour comprendre comment fonctionnent les spammeurs sur Twitter, je vous déconseille donc de vous en servir sur votre compte principal, sous peine d'être banni en cas d'abus.</p>
<p><span id="more-4019"></span></p>
<p><img src="/public/images/photos/informatique/internet/twitter/twitter-spam.jpg" alt="Twitter Spam" class="aligncenter" /></p>
<p>Pour fonctionner, le script a besoin de la commande php. Ouvrez un terminal en root et lancez la commande suivante pour une distribution à base de rpm :</p>
<blockquote><p>yum install php-cli</p></blockquote>
<p>Ou celle-ci pour une distribution à base de Debian :</p>
<blockquote><p>apt-get install php5-cli php5-curl</p></blockquote>
<p>Il faut ensuite créer une liste d'utilisateurs à suivre :</p>
<blockquote><p>
echo tuxplanet &gt;&gt; list.txt<br />
echo iuselinux &gt;&gt; list.txt
</p></blockquote>
<p>L'étape finale consistera à récupérer le script :</p>
<blockquote><p>
wget www.tux-planet.fr/public/hack/twitter/follow.phps<br />
mv follow.phps follow.php
</p></blockquote>
<p>Et à l'exécuter, après avoir fourni le login, le mot de passe de votre compte Twitter ainsi que la méthode (follow ou unfollow) :</p>
<blockquote><p>
php follow.php username password follow &lt; list.txt<br />
...<br />
[success] [follow] [tuxplanet]<br />
[success] [follow] [iuselinux]<br />
...
</p></blockquote><p><br/><hr><a href="http://www.tux-planet.fr/twitter-hack-follow-and-unfollow-script/">Twitter Hack : follow and unfollow script</a> est un article original provenant de <a href="http://www.tux-planet.fr">Tux-planet</a> - &copy;Copyright - 2005 Toutes reproductions interdites.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tux-planet.fr/twitter-hack-follow-and-unfollow-script/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Développer une extension Jetpack</title>
		<link>http://www.tux-planet.fr/developper-une-extension-jetpack/</link>
		<comments>http://www.tux-planet.fr/developper-une-extension-jetpack/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 06:00:17 +0000</pubDate>
		<dc:creator>pti-seb</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[extensions]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jetpack]]></category>
		<category><![CDATA[mozilla]]></category>

		<guid isPermaLink="false">http://www.tux-planet.fr/?p=4007</guid>
		<description><![CDATA[Mozilla Jetpack est une API qui permet de développer très simplement des extensions pour Firefox. Le système s'installe sous forme de plugin dans votre navigateur, vous permettant ensuite de coder directement de nouvelles fonctionnalités en utilisant le langage Javascript. Voici un exemple d'extension développée avec Jetpack. Celle-ci permet de réduire l'adresse d'une page Internet en [...]<p><br/><hr><a href="http://www.tux-planet.fr/developper-une-extension-jetpack/">Développer une extension Jetpack</a> est un article original provenant de <a href="http://www.tux-planet.fr">Tux-planet</a> - &copy;Copyright - 2005 Toutes reproductions interdites.</p>
]]></description>
			<content:encoded><![CDATA[<p><img src="/public/images/icons/jetpack.png" alt="Netbook" class="aligncenter" /><br />
<a href="https://mozillalabs.com/jetpack/">Mozilla Jetpack</a> est une <acronym title="Application Programming Interface">API</acronym> qui permet de développer très simplement des extensions pour Firefox. Le système s'installe sous forme de plugin dans votre navigateur, vous permettant ensuite de coder directement de nouvelles fonctionnalités en utilisant le langage Javascript.</p>
<p><span id="more-4007"></span></p>
<p><img src="/public/images/screenshots/software/firefox/mozilla-jetpack.png" alt="Développer extension Mozilla Jetpack" class="aligncenter" /></p>
<p>Voici un exemple d'extension développée avec Jetpack. Celle-ci permet de réduire l'adresse d'une page Internet en utilisant le service <a href="http://tux-pla.net/">Tux-pla.net</a>.  Je me suis largement inspiré d'un tutoriel proposé par <a href="http://damdec.fr/2009/06/09/mon-premier-plugin-firefox-avec-mozilla-jetpack-minurl/">Damdec</a>.</p>
<p>Voici comment procéder :</p>
<ul>
<li>installez l'<a href="https://addons.mozilla.org/fr/firefox/addon/12025" rel="nofollow">extension Jetpack</a> dans votre navigateur Firefox</li>
<li>saisissez l'adresse suivante : about:jetpack</li>
<li>consultez l'onglet "Tutorial" et "<acronym title="Application Programming Interface">API</acronym> Reference", pour obtenir de l'aide sur le développement de plugins</li>
<li>allez dans l'onglet "Develop", collez le code suivant et validez</li>
</ul>
<pre>
jetpack.statusBar.append({
 html: '&lt;img src="http://www.tux-planet.fr/public/images/icons/attach.png"&gt;',
 width: 18,
 onReady: function(widget) {
  $(widget).click(function() {
     jetpack.tabs.open('http://tux-pla.net/api.php?longurl='+escape(jetpack.tabs.focused.url));
     jetpack.tabs[ jetpack.tabs.length-1 ].focus();
   });
   $(widget).find("img").css({position:"absolute",top:"4",left:"0"});
 }
});
</pre>
<p>Ce bout de programme s'occupe de :</p>
<ul>
<li>rajouter une image en forme de trombone dans la barre de statut en bas de votre navigateur</li>
<li>d'ouvrir la page http://tux-pla.net/api.php?longurl=xxx lorsque vous cliquez sur l'image</li>
<li>ce qui aura pour effet de déclencher l'<acronym title="Application Programming Interface">API</acronym> de Tux-pla.net et vous proposera une url réduite</li>
</ul>
<p>Voilà, votre premier plugin Firefox à base de Jetpack est en place. Libre à vous, ensuite, d'en créer de nouveaux selon vos besoins.</p><p><br/><hr><a href="http://www.tux-planet.fr/developper-une-extension-jetpack/">Développer une extension Jetpack</a> est un article original provenant de <a href="http://www.tux-planet.fr">Tux-planet</a> - &copy;Copyright - 2005 Toutes reproductions interdites.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tux-planet.fr/developper-une-extension-jetpack/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Optimiser et compresser des feuilles de style CSS</title>
		<link>http://www.tux-planet.fr/optimiser-et-compresser-des-feuilles-de-style-css/</link>
		<comments>http://www.tux-planet.fr/optimiser-et-compresser-des-feuilles-de-style-css/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 17:48:15 +0000</pubDate>
		<dc:creator>pti-seb</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[csstidy]]></category>
		<category><![CDATA[développement]]></category>

		<guid isPermaLink="false">http://www.tux-planet.fr/?p=3923</guid>
		<description><![CDATA[CSSTidy est un optimisateur de feuilles de style CSS. Celui-ci s'utilise en ligne de commande sous Linux et permet de réduire la taille d'une feuille de style CSS selon différents critères, afin de rendre l'affichage d'un site web plus performant. 1. Optimisation Pour installer CSSTidy, ouvrez un terminal en root et lancez la commande suivante [...]<p><br/><hr><a href="http://www.tux-planet.fr/optimiser-et-compresser-des-feuilles-de-style-css/">Optimiser et compresser des feuilles de style CSS</a> est un article original provenant de <a href="http://www.tux-planet.fr">Tux-planet</a> - &copy;Copyright - 2005 Toutes reproductions interdites.</p>
]]></description>
			<content:encoded><![CDATA[<p><img src="/public/images/icons/css.png" alt="CSS" class="aligncenter" /><br />
CSSTidy est un optimisateur de feuilles de style <acronym title="Cascading Style Sheets">CSS</acronym>. Celui-ci s'utilise en ligne de commande sous Linux et permet de réduire la taille d'une feuille de style <acronym title="Cascading Style Sheets">CSS</acronym> selon différents critères, afin de rendre l'affichage d'un site web plus performant.</p>
<p><span id="more-3923"></span></p>
<h3>1. Optimisation</h3>
<p>Pour installer CSSTidy, ouvrez un terminal en root et lancez la commande suivante pour une distribution à base de rpm :</p>
<blockquote><p>yum install csstidy</p></blockquote>
<p>Ou celle-ci pour une distribution à base de Debian :</p>
<blockquote><p>apt-get install csstidy</p></blockquote>
<p>Vous pourrez ensuite lancer la commande csstidy sans aucun paramètre afin de voir les options proposées. Voici quelques exemples d'optimisation possibles :</p>
<ul>
<li>compress_colors : utilise des codes de couleur hexadécimal, la propriété black devient #000 par exemple</li>
<li>discard_invalid_properties : supprime toutes les lignes invalides. Cette option est assez dangereuse car on n'est jamais à l'abri d'une faute de frappe (widht au lieu de width)</li>
<li>lowercase_s : change tous les sélecteurs en minuscule</li>
<li>preserve_css : supprime tous les commentaires si l'on utilise l'option false</li>
<li>remove_last_; : supprime le dernier ; de chaque section</li>
</ul>
<p>Pour ceux qui ne veulent pas choisir d'options spécifiques, il faut savoir que CSSTidy embarque des templates capables de faire de l'optimisation automatique selon plusieurs niveaux (low, high, highest). Voici un exemple d'utilisation :</p>
<blockquote><p>
csstidy style.css --template=high style.css.out<br />
...<br />
Selectors: 63 | Properties: 198<br />
Input size: 6.24KiB  Output size: 3.728KiB  Compression ratio: 40.27%
</p></blockquote>
<p>Si l'on compare le nombre de lignes entre les deux fichiers :</p>
<blockquote><p>
cat style.css | wc -l<br />
368<br />
cat style.css.out | wc -l<br />
51
</p></blockquote>
<p>La différence avant et après compression est donc souvent très visible. Il faudra tout même revérifier sa feuille de style afin d'être sûr que le programme n'a pas commis d'erreurs ou supprimé des options importantes.</p>
<h3>2. Compression et décompression d'une feuille de style</h3>
<p>Si l'on souhaite ensuite compresser une feuille de style en une seule ligne, on pourra utiliser la commande suivante :</p>
<blockquote><p>cat style.css | tr -d "\n" > compress.css</p></blockquote>
<p>Et celle-ci pour revenir à un format lisible :</p>
<blockquote><p>cat compress.css | awk '{gsub(/{|}|;/,"&#038;\n"); print}' > uncompressed.css</p></blockquote><p><br/><hr><a href="http://www.tux-planet.fr/optimiser-et-compresser-des-feuilles-de-style-css/">Optimiser et compresser des feuilles de style CSS</a> est un article original provenant de <a href="http://www.tux-planet.fr">Tux-planet</a> - &copy;Copyright - 2005 Toutes reproductions interdites.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tux-planet.fr/optimiser-et-compresser-des-feuilles-de-style-css/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Plugin WordPress : mettre en forme des commentaires</title>
		<link>http://www.tux-planet.fr/plugin-wordpress-mettre-en-forme-des-commentaires/</link>
		<comments>http://www.tux-planet.fr/plugin-wordpress-mettre-en-forme-des-commentaires/#comments</comments>
		<pubDate>Wed, 04 Mar 2009 21:36:08 +0000</pubDate>
		<dc:creator>pti-seb</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[développement]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.tux-planet.fr/?p=3815</guid>
		<description><![CDATA[Cet article explique le fonctionnement du plugin BilboCommentFormating pour WordPress, qui est capable de mettre en gras le nom des personnes à qui l'on répond dans les commentaires. Celui-ci a été développé pour les besoins de Tux-planet. Il peut être adapté à volonté grâce à sa licence AGPLv3, afin d'effectuer d'autres actions de mise en [...]<p><br/><hr><a href="http://www.tux-planet.fr/plugin-wordpress-mettre-en-forme-des-commentaires/">Plugin WordPress : mettre en forme des commentaires</a> est un article original provenant de <a href="http://www.tux-planet.fr">Tux-planet</a> - &copy;Copyright - 2005 Toutes reproductions interdites.</p>
]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter" src="/public/images/icons/wordpress.png" alt="Plugin WordPress" /><br />
Cet article explique le fonctionnement du plugin BilboCommentFormating pour WordPress, qui est capable de mettre en gras le nom des personnes à qui l'on répond dans les commentaires. Celui-ci a été développé pour les besoins de Tux-planet. Il peut être adapté à volonté grâce à sa licence AGPLv3, afin d'effectuer d'autres actions de mise en forme.</p>
<p><span id="more-3815"></span></p>
<p>Pour le faire fonctionner, il suffit de télécharger le fichier <a href="/public/dev/php/BilboCommentFormating.zip">BilboCommentFormating.php</a> et de le placer dans le dossier wp-content/plugins/ de votre installation WordPress.</p>
<p>Voici le code source du plugin :</p>
<pre>
&lt;?php
/*
Plugin Name: BilboCommentFormating
Plugin URI: http://www.tux-planet.fr/bilbobox
Description: Formating Comments
Author: Sebastien Bilbeau
Version: 0.1
Author URI:  http://www.tux-planet.fr
*/

function BilboCommentFormating($content) {
  return preg_replace("#@(.*?) #i", "&lt;strong&gt;@$1&lt;/strong&gt; ", $content);
}

add_filter('comment_text', 'BilboCommentFormating');
?&gt;
</pre>
<p>Quelques explications :</p>
<ul>
<li>La première partie du code en commentaire contient les informations concernant le plugin. Elles seront affichées également dans l'interface d'administration des plugins de Worpdress.</li>
<li>La fonction BilboCommentFormating s'occupe de trouver tous les mots qui commencent par @ et elle rajoute ensuite les balises &lt;strong&gt; autour afin de les mettre en gras.</li>
<li>Enfin, la ligne add_filter permet d'appliquer la fonction  BilboCommentFormating sur le contenu d'un commentaire lorsque celui-ci est posté.</li>
</ul><p><br/><hr><a href="http://www.tux-planet.fr/plugin-wordpress-mettre-en-forme-des-commentaires/">Plugin WordPress : mettre en forme des commentaires</a> est un article original provenant de <a href="http://www.tux-planet.fr">Tux-planet</a> - &copy;Copyright - 2005 Toutes reproductions interdites.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tux-planet.fr/plugin-wordpress-mettre-en-forme-des-commentaires/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Développer un module noyau sous Linux</title>
		<link>http://www.tux-planet.fr/developper-un-module-noyau-sous-linux/</link>
		<comments>http://www.tux-planet.fr/developper-un-module-noyau-sous-linux/#comments</comments>
		<pubDate>Tue, 20 Jan 2009 11:00:25 +0000</pubDate>
		<dc:creator>pti-seb</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[module]]></category>
		<category><![CDATA[noyau]]></category>

		<guid isPermaLink="false">http://www.tux-planet.fr/?p=3098</guid>
		<description><![CDATA[Cet article explique comment coder son propre module noyau sous Linux. Il s'adresse aux débutants et ne nécessite pas forcément beaucoup de connaissances en programmation. 1. Les pré-requis Pour pouvoir développer son propre module noyau, il vous faudra disposer du paquet kernel headers et d'un compilateur de langage c comme gcc par exemple. Pour installer [...]<p><br/><hr><a href="http://www.tux-planet.fr/developper-un-module-noyau-sous-linux/">Développer un module noyau sous Linux</a> est un article original provenant de <a href="http://www.tux-planet.fr">Tux-planet</a> - &copy;Copyright - 2005 Toutes reproductions interdites.</p>
]]></description>
			<content:encoded><![CDATA[<p><img src="/public/images/icons/module-noyau.png" alt="Kernel module" class="aligncenter" /><br />
Cet article explique comment coder son propre module noyau sous Linux. Il s'adresse aux débutants et ne nécessite pas forcément beaucoup de connaissances en programmation.</p>
<p><span id="more-3098"></span></p>
<h3>1. Les pré-requis</h3>
<p>Pour pouvoir développer son propre module noyau, il vous faudra disposer du paquet kernel headers et d'un compilateur de langage c comme gcc par exemple.</p>
<p>Pour installer ces différents composants, ouvrez un terminal en root et lancez la commande suivante pour une distribution à base de <acronym title="Red Hat Package manager">RPM</acronym> :</p>
<blockquote><p>yum install kernel-headers gcc</p></blockquote>
<p>Ou celle-ci pour une distribution à base de Debian :</p>
<blockquote><p>sudo aptitude install linux-headers-`uname -r` build-essential</p></blockquote>
<h3>2. Le développement d'un module noyau</h3>
<p>Voici un exemple assez simple de code source d'un module noyau. Celui-ci affiche simplement un "Hello world" à l'initialisation et un "Goodbye world" lors du déchargement du module. Le nom du fichier contenant ce code s'intitulera hello.c :</p>
<pre>
#include &lt;linux/module.h&gt;
#include &lt;linux/kernel.h&gt;

#define DRIVER_AUTHOR "Sebastien Bilbeau"
#define DRIVER_DESC   "My First module"

int init_module(void) {
  printk(KERN_INFO "Hello world.\n");
  return 0;
}

void cleanup_module(void) {
  printk(KERN_INFO "Goodbye world\n");
}

MODULE_LICENSE("<acronym title="GNU General Public License">GPL</acronym>");           // La licence du module
MODULE_AUTHOR(DRIVER_AUTHOR);    // L'auteur du module
MODULE_DESCRIPTION(DRIVER_DESC); // La description du module
</pre>
<h3>3. La compilation du module</h3>
<p>Pour compiler le module, lancez les commandes suivantes :</p>
<blockquote><p>
chmod 755 hello.c Makefile<br />
make -C /lib/modules/$(uname -r)/build M=$(pwd) modules
</p></blockquote>
<p>Si tout ce passe bien, vous devriez obtenir les fichiers suivant :</p>
<blockquote><p>
# ls -lgrt hello.*<br />
hello.o<br />
hello.mod.c<br />
hello.mod.o<br />
hello.ko
</p></blockquote>
<h3>4. L'utilisation du module</h3>
<p>Attention, pour manipuler un module, il faut nécessairement avoir les droits root. </p>
<p>Pour le charger, il faudra utiliser la commande insmod comme ceci :</p>
<blockquote><p>insmod hello.ko</p></blockquote>
<p>On pourra vérifier qu'il est bien chargé en utilisant lsmod :</p>
<blockquote><p>lsmod | grep hello</p></blockquote>
<p>Si vous souhaitez afficher les informations relatives au module :</p>
<blockquote><p>
# modinfo hello.ko<br />
filename:       hello.ko<br />
description:    My First module<br />
author:         Sebastien Bilbeau<br />
license:        <acronym title="GNU General Public License">GPL</acronym>
</p></blockquote>
<p>Dans le code de hello.c, nous avons utilisé la fonction printk, qui permet d'écrire un message dans le fichier /var/log/message. Nous allons donc maintenant observer le résultat de notre petit programme :</p>
<blockquote><p>
# cat /var/log/messages | grep -i hello<br />
Jan 19 23:21:03 localhost kernel: Hello world.
</p></blockquote>
<p>Enfin, on pourra décharger le tout avec la commande rmmod :</p>
<blockquote><p>rmmod hello.ko</p></blockquote>
<p>Vous connaissez désormais les bases du développement des modules noyau pour Linux.</p><p><br/><hr><a href="http://www.tux-planet.fr/developper-un-module-noyau-sous-linux/">Développer un module noyau sous Linux</a> est un article original provenant de <a href="http://www.tux-planet.fr">Tux-planet</a> - &copy;Copyright - 2005 Toutes reproductions interdites.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tux-planet.fr/developper-un-module-noyau-sous-linux/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>MySQL : Remplacer une chaîne de caractères par une autre</title>
		<link>http://www.tux-planet.fr/mysql-remplacer-une-chaine-de-caracteres-par-une-autre/</link>
		<comments>http://www.tux-planet.fr/mysql-remplacer-une-chaine-de-caracteres-par-une-autre/#comments</comments>
		<pubDate>Thu, 08 Jan 2009 19:40:34 +0000</pubDate>
		<dc:creator>pti-seb</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[astuce]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.tux-planet.fr/?p=469</guid>
		<description><![CDATA[Voici une petite astuce qui permet de remplacer une chaîne de caractères par une autre pour une base de données MySQL. Ici on utilise la fonction propre à MySQL qui se nomme replace. Voici un exemple d'utilisation : UPDATE ma_table SET mon_champ = replace(mon_champ, 'ancienne-chaine', 'nouvelle-chaine'); MySQL : Remplacer une chaîne de caractères par une [...]<p><br/><hr><a href="http://www.tux-planet.fr/mysql-remplacer-une-chaine-de-caracteres-par-une-autre/">MySQL : Remplacer une chaîne de caractères par une autre</a> est un article original provenant de <a href="http://www.tux-planet.fr">Tux-planet</a> - &copy;Copyright - 2005 Toutes reproductions interdites.</p>
]]></description>
			<content:encoded><![CDATA[<p><img src="/public/images/icons/mysql-replace.png" alt="MySQL remplacer une chaine" class="aligncenter" /><br />
Voici une petite astuce qui permet de remplacer une chaîne de caractères par une autre pour une base de données MySQL. Ici on utilise la fonction propre à MySQL qui se nomme replace.</p>
<p><span id="more-469"></span></p>
<p>Voici un exemple d'utilisation :</p>
<blockquote><p>
UPDATE ma_table SET mon_champ = replace(mon_champ, 'ancienne-chaine', 'nouvelle-chaine');
</p></blockquote><p><br/><hr><a href="http://www.tux-planet.fr/mysql-remplacer-une-chaine-de-caracteres-par-une-autre/">MySQL : Remplacer une chaîne de caractères par une autre</a> est un article original provenant de <a href="http://www.tux-planet.fr">Tux-planet</a> - &copy;Copyright - 2005 Toutes reproductions interdites.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tux-planet.fr/mysql-remplacer-une-chaine-de-caracteres-par-une-autre/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Shc - Shell script compiler</title>
		<link>http://www.tux-planet.fr/shc-shell-script-compiler/</link>
		<comments>http://www.tux-planet.fr/shc-shell-script-compiler/#comments</comments>
		<pubDate>Tue, 30 Dec 2008 15:15:53 +0000</pubDate>
		<dc:creator>pti-seb</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[binaire]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[shc]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://www.tux-planet.fr/?p=2880</guid>
		<description><![CDATA[Shc est un programme qui permet de compiler des scripts shell afin d'obtenir un binaire. Cette méthode offre plusieurs avantages aux développeurs. Tout d'abord, elle permet de distribuer un logiciel sans forcément fournir son code source. Ensuite, shc propose une option qui propose de positionner une date d'expiration. Cette fonctionnalité sera intéressante dans le cadre [...]<p><br/><hr><a href="http://www.tux-planet.fr/shc-shell-script-compiler/">Shc - Shell script compiler</a> est un article original provenant de <a href="http://www.tux-planet.fr">Tux-planet</a> - &copy;Copyright - 2005 Toutes reproductions interdites.</p>
]]></description>
			<content:encoded><![CDATA[<p><img src="/public/images/icons/shell-script-compiler.png" alt="Shell script compiler " class="aligncenter" /><br />
Shc est un programme qui permet de compiler des scripts shell afin d'obtenir un binaire. Cette méthode offre plusieurs avantages aux développeurs. Tout d'abord, elle permet de distribuer un logiciel sans forcément fournir son code source. Ensuite, shc propose une option qui propose de positionner une date d'expiration. Cette fonctionnalité sera intéressante dans le cadre d'une distribution de logiciels avec une licence qui expire dans le temps.</p>
<p><span id="more-2880"></span></p>
<p>Attention tout de même, shc est sûrement loin de fournir des binaires infaillibles. Des crackers peuvent facilement désassembler le fichier afin d'obtenir le code source. Néanmoins, cela découragera la plupart des utilisateurs.</p>
<h3>1. Installation de Shc</h3>
<p>Ouvrez un terminal en root et lancez la commande suivante pour une distribution à base de rpm :</p>
<blockquote><p>yum install shc</p></blockquote>
<p>Ou celle-ci pour une distribution à base de debian :</p>
<blockquote><p>sudo apt-get install shc</p></blockquote>
<h3>2. Compilation d'un script shell</h3>
<p>Pour tester shc, on pourra utiliser le script bash suivant :</p>
<blockquote><p>
#!/bin/bash<br />
echo "Tux-planet c'est cool !"
</p></blockquote>
<p>Pour compiler, il suffira d'utiliser cette commande :</p>
<blockquote><p>shc -f script.sh</p></blockquote>
<p>Cela devrait vous créer un fichier binaire nommé script.sh.x :</p>
<blockquote><p>
$ file script.sh.x<br />
script.sh.x: ELF 64-bit <acronym title="Linux Standard Base">LSB</acronym> executable, x86-64
</p></blockquote>
<p>Si l'on souhaite positionner une date d'expiration (format dd/mm/yyyy) avec un message à afficher quand celle-ci est atteinte :</p>
<blockquote><p>shc -f script.sh -e 01/01/2008 -m "Merci d'acheter la licence"</p></blockquote>
<blockquote><p>
$ ./script.sh.x<br />
./script.sh.x: has expired!<br />
Merci d'acheter la licence
</p></blockquote><p><br/><hr><a href="http://www.tux-planet.fr/shc-shell-script-compiler/">Shc - Shell script compiler</a> est un article original provenant de <a href="http://www.tux-planet.fr">Tux-planet</a> - &copy;Copyright - 2005 Toutes reproductions interdites.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tux-planet.fr/shc-shell-script-compiler/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>The Google finance command line</title>
		<link>http://www.tux-planet.fr/the-google-finance-command-line/</link>
		<comments>http://www.tux-planet.fr/the-google-finance-command-line/#comments</comments>
		<pubDate>Fri, 26 Dec 2008 20:07:52 +0000</pubDate>
		<dc:creator>pti-seb</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[commande]]></category>
		<category><![CDATA[finance]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://www.tux-planet.fr/?p=2847</guid>
		<description><![CDATA[Voici un petit script bash, fourni sous licence GPL, qui permet d'obtenir la valeurs des actions en bourse depuis une ligne de commande. Celui-ci utilise la commande curl (yum ou sudo apt-get install curl si vous ne l'avez pas installée). Pour installer le script, lancer les commandes suivantes dans un shell : wget www.tux-planet.fr/public/dev/shell/script-google-finance mv [...]<p><br/><hr><a href="http://www.tux-planet.fr/the-google-finance-command-line/">The Google finance command line</a> est un article original provenant de <a href="http://www.tux-planet.fr">Tux-planet</a> - &copy;Copyright - 2005 Toutes reproductions interdites.</p>
]]></description>
			<content:encoded><![CDATA[<p><img src="/public/images/icons/bourse.png" alt="Bourse" class="aligncenter" /><br />
Voici un petit script bash, fourni sous licence <acronym title="GNU General Public License">GPL</acronym>, qui permet d'obtenir la valeurs des actions en bourse depuis une ligne de commande. Celui-ci utilise la commande curl (yum ou sudo apt-get install curl si vous ne l'avez pas installée).</p>
<p><span id="more-2847"></span></p>
<p>Pour installer le script, lancer les commandes suivantes dans un shell :</p>
<blockquote><p>
wget www.tux-planet.fr/public/dev/shell/script-google-finance<br />
mv script-google-finance google-finance &amp;&amp; chmod +x google-finance
</p></blockquote>
<p>Pour fonctionner, il suffit de fournir le nom de l'action en paramètre. Voici un exemple d'utilisation : </p>
<blockquote><p>
$ ./google-finance redhat<br />
13.04
</p></blockquote>
<p>Bref, comme d'habitude c'est inutile donc indispensable …</p><p><br/><hr><a href="http://www.tux-planet.fr/the-google-finance-command-line/">The Google finance command line</a> est un article original provenant de <a href="http://www.tux-planet.fr">Tux-planet</a> - &copy;Copyright - 2005 Toutes reproductions interdites.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tux-planet.fr/the-google-finance-command-line/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Code source du Planet Libre : première réflexion</title>
		<link>http://www.tux-planet.fr/code-source-du-planet-libre-premiere-reflexion/</link>
		<comments>http://www.tux-planet.fr/code-source-du-planet-libre-premiere-reflexion/#comments</comments>
		<pubDate>Sun, 08 Jun 2008 15:13:14 +0000</pubDate>
		<dc:creator>pti-seb</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Planet]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.tux-planet.fr/?p=442</guid>
		<description><![CDATA[Cet article a pour but d'apporter une première réflexion en vue de la libération du code source du Planet Libre. 1. Réflexion sur l'avenir du code source du Planet Libre A l'heure d'aujourd'hui, je n'ai plus vraiment beaucoup de temps à consacrer au Planet. Ce dernier n'évolue d'ailleurs presque plus et aurait besoin de quelques [...]<p><br/><hr><a href="http://www.tux-planet.fr/code-source-du-planet-libre-premiere-reflexion/">Code source du Planet Libre : première réflexion</a> est un article original provenant de <a href="http://www.tux-planet.fr">Tux-planet</a> - &copy;Copyright - 2005 Toutes reproductions interdites.</p>
]]></description>
			<content:encoded><![CDATA[<p><img src="/public/images/icons/globe.png" alt="Globe" class="aligncenter" /><br />
Cet article a pour but d'apporter une première réflexion en vue de la libération du code source du <a href="http://www.planet-libre.org/">Planet Libre</a>.</p>
<p><span id="more-442"></span></p>
<h3>1. Réflexion sur l'avenir du code source du Planet Libre</h3>
<p>A l'heure d'aujourd'hui, je n'ai plus vraiment beaucoup de temps à consacrer au Planet. Ce dernier n'évolue d'ailleurs presque plus et aurait besoin de quelques améliorations.</p>
<p>Je devais packager le code pour le distribuer sous une licence libre, je n'ai pas encore eu le temps de faire.</p>
<p>Mais les choses ont quelques peu changé depuis la migration de mon blog sous WordPress. En effet, il m'est venu à l'idée que si l'on était capable d'utiliser ce <acronym title="Content Management System">CMS</acronym> pour construire un planet via un plugin, alors les choses seraient plus simples pour tout le monde.</p>
<p>Elles seraient plus simples :</p>
<ul>
<li>pour moi, car le maintient d'un seul plugin du Planet contenant peu de code devrait être une tâche surmontable et beaucoup plus simple que de développer un logiciel entier.</li>
<li>pour les futurs utilisateurs, car la mise en place d'un planet pourrait devenir quelque chose de facile et ceci grâce à WordPress.</li>
<li>pour la communauté du Planet Libre, car si elle juge avoir besoin de nouvelle extension, il suffira de développer ou d'utiliser d'autres plugins.</li>
</ul>
<p>J'ai donc chercher rapidement s'il n'existait pas des extensions de ce type déjà toutes faites. Je n'ai pas trouvé grand chose, hormis un plugin qui permet d'adapter le script python PlanetPlanet à Worpdress. </p>
<p>Ce dernier ne peut pas convenir, car il offre trop peu de fonctionnalités (je l'avais déjà utilisé pour les toutes premières versions du Planet Libre).</p>
<h3>2. Construction d'un planet avec WordPress</h3>
<p>Voici à mon avis comment on pourrait construire un planet avec WordPress :</p>
<ul>
<li>Installation de WordPress</li>
<li>Installation du plugin <a href="http://wordpress.org/extend/plugins/simplepie-core/">SimplePie Core</a> qui permet d'intégrer la librairie SimplePie (<acronym title="GNU Lesser General Public License">LGPL</acronym>)</li>
<li>Installation de <a href="http://wordpress.org/extend/plugins/simplepie-plugin-for-wordpress/">SimplePie Plugin for WordPress</a> qui permet d'utiliser la librairie SimplePie  de façon très simple</li>
</ul>
<p>Ensuite, il ne resterait plus qu'à développer un nouveau plugin, basé sur le code source actuel du Planet (donc une grosse partie du travail est déjà faite), qui serait capable de récupérer les articles des membres et les insérer dans WordPress sous forme de billet traditionnel.</p>
<p>Pour la version mobile, il existe déjà tout un tas d'extensions capables de faire cela. Reste le problème du système de votes et de la page des articles populaires.</p>
<p>Pour le moment je ne sais pas comment on pourrait mettre en place ces mêmes fonctionnalités. Peut-être qu'il faudra adapter un peu de code du Planet-libre pour y arriver.</p>
<p>Je voulais donc savoir quel est votre avis sur cette idée ? Est-elle bonne ? Mauvaise ?<br />
Est-elle réalisable ? Peut-on faire autrement ?</p><p><br/><hr><a href="http://www.tux-planet.fr/code-source-du-planet-libre-premiere-reflexion/">Code source du Planet Libre : première réflexion</a> est un article original provenant de <a href="http://www.tux-planet.fr">Tux-planet</a> - &copy;Copyright - 2005 Toutes reproductions interdites.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tux-planet.fr/code-source-du-planet-libre-premiere-reflexion/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
	</channel>
</rss>

