<?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>Destination Debian&#187; Programmation</title>
	<atom:link href="http://raphaelhertzog.fr/tag/programmation/feed/" rel="self" type="application/rss+xml" />
	<link>http://raphaelhertzog.fr</link>
	<description>Infos à la source, maîtrisez votre distribution Debian/Ubuntu</description>
	<lastBuildDate>Thu, 10 May 2012 09:45:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Un script pour surveiller des mises à jour</title>
		<link>http://raphaelhertzog.fr/2007/09/28/un-script-pour-surveiller-des-mises-a-jour/</link>
		<comments>http://raphaelhertzog.fr/2007/09/28/un-script-pour-surveiller-des-mises-a-jour/#comments</comments>
		<pubDate>Fri, 28 Sep 2007 08:28:30 +0000</pubDate>
		<dc:creator>Raphaël Hertzog</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Programmation]]></category>

		<guid isPermaLink="false">http://raphaelhertzog.fr/2007/09/28/un-script-pour-surveiller-des-mises-a-jour/</guid>
		<description><![CDATA[On m&#8217;a récemment demandé s&#8217;il existait un outil Debian pour vérifier qu&#8217;un ensemble de paquets dérivés de Debian intègrent bien les dernières mises à jour de sécurité. L&#8217;idée est d&#8217;avoir un fichier listant l&#8217;ensemble des paquets personnalisés avec les versions qui ont servi de base aux paquets personnalisés et d&#8217;avoir un outil qui va vérifier [...]]]></description>
			<content:encoded><![CDATA[<p>On m&#8217;a récemment demandé s&#8217;il existait un outil Debian pour vérifier qu&#8217;un ensemble de paquets dérivés de Debian intègrent bien les dernières mises à jour de sécurité. L&#8217;idée est d&#8217;avoir un fichier listant l&#8217;ensemble des paquets personnalisés avec les versions qui ont servi de base aux paquets personnalisés et d&#8217;avoir un outil qui va vérifier automatiquement security.debian.org pour voir si de nouvelles versions sont disponibles.</p>
<p>Ma première réponse était de regarder <a href="http://git.debian.org/?p=users/hertzog/famke.git;a=summary">famke</a> un petit script python écrit par James Troup pour les besoins de l&#8217;<a href="http://wiki.debian.org/Teams/DSA">équipe DSA de Debian</a>: il prévient par mail lorsque des mises à jour sont possibles et essaient de les rapprocher avec le <a href="http://www.debian.org/security/dsa.en.rdf">fil RDF</a> des mises à jour de sécurité.</p>
<p>J&#8217;ai donc repris le principe et réalisé un petit script python un peu plus souple dans la mesure où il ne vérifie pas si les paquets installés peuvent être mis à jour mais si les paquets listés dans un fichier (que j&#8217;ai appelé watchlist) peuvent être mis à jour à partir d&#8217;un ensemble de dépôts APT que l&#8217;on consigne dans un fichier sources.list personnel.</p>
<p>Il peut servir d&#8217;exemples à ceux qui cherchent à employer l&#8217;interface &laquo;&nbsp;python-apt&nbsp;&raquo;. Le script est disponible dans un <a href="http://git.debian.org/?p=users/hertzog/hacks/checkupdate.git;a=summary">dépôt Git</a>.</p>
<p>Installation et usage par l&#8217;exemple :</p>
<pre>
$ git clone git://git.debian.org/~hertzog/hacks/checkupdate.git
$ cd checkupdate
$ vim checkupdate.conf
# On change les répertoires pour pointer vers `pwd`
$ vim watchlist
# On indique les paquets à surveiller et leur version courante
$ ./checkupdate checkupdate.conf
An update of the package 'rsync' is available: 2.6.9-2etch1
Origin: [component: 'main' archive: 'stable' origin: 'Debian'
label: 'Debian-Security' site 'security.debian.org' isTrusted: 'True']
</pre>
<p style="font-size: smaller"><a href="http://raphaelhertzog.fr/2007/09/28/un-script-pour-surveiller-des-mises-a-jour/#comments">3 commentaires</a> | Vous avez aimé ? <a href="http://raphaelhertzog.fr/soutenir/">Cliquez ici</a>. | Ce blog utilise <a href="http://flattr.com/thing/26572/Destination-Debian" target="_blank">Flattr</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://raphaelhertzog.fr/2007/09/28/un-script-pour-surveiller-des-mises-a-jour/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Détecter la fermerture d&#039;une socket sans lire les données en attente</title>
		<link>http://raphaelhertzog.fr/2006/04/19/detect-close-socket/</link>
		<comments>http://raphaelhertzog.fr/2006/04/19/detect-close-socket/#comments</comments>
		<pubDate>Wed, 19 Apr 2006 17:42:27 +0000</pubDate>
		<dc:creator>Raphaël Hertzog</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Programmation]]></category>

		<guid isPermaLink="false">http://www.ouaza.com/wordpress/2006/04/19/detecter-la-fermerture-dune-socket-sans-lire-les-donnees-en-attente/</guid>
		<description><![CDATA[J&#8217;ai récemment été confronté à la problématique de devoir détecter (dans une application C sous Linux) si une socket employée avait été fermée sans être obligé de lire les données en attente dans celle-ci. Il n&#8217;existe (à ma connaissance) aucun moyen portable de réaliser cela. Mais Linux offre (via l&#8217;appel getsockopt) la possibilité de consulter [...]]]></description>
			<content:encoded><![CDATA[<p>J&#8217;ai récemment été confronté à la problématique de devoir détecter (dans une application C sous Linux) si une socket employée avait été fermée sans être obligé de lire les données en attente dans celle-ci.</p>
<p>Il n&#8217;existe (à ma connaissance) aucun moyen portable de réaliser cela. Mais Linux offre (via l&#8217;appel <code>getsockopt</code>) la possibilité de consulter la structure <code>tcp_info</code> du noyau (voir /usr/include/linux/tcp.h). Voici comment le test a été réalisé:</p>
<pre>
struct tcp_info info;
socklen_t len = sizeof(info);
if (getsockopt(remote_s, SOL_TCP, TCP_INFO, &amp;info, &amp;len) != -1) {
    if (info.tcpi_state == TCP_CLOSE ||
        info.tcpi_state == TCP_CLOSE_WAIT ||
        info.tcpi_state == TCP_CLOSING) {
                [... do what you want here ...]
    }
}</pre>
<p style="font-size: smaller"><a href="http://raphaelhertzog.fr/2006/04/19/detect-close-socket/#comments">Aucun commentaire pour le moment</a> | Vous avez aimé ? <a href="http://raphaelhertzog.fr/soutenir/">Cliquez ici</a>. | Ce blog utilise <a href="http://flattr.com/thing/26572/Destination-Debian" target="_blank">Flattr</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://raphaelhertzog.fr/2006/04/19/detect-close-socket/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Intégrer un feed RSS dans WML</title>
		<link>http://raphaelhertzog.fr/2005/06/08/integrer-un-feed-rss-dans-wml/</link>
		<comments>http://raphaelhertzog.fr/2005/06/08/integrer-un-feed-rss-dans-wml/#comments</comments>
		<pubDate>Wed, 08 Jun 2005 09:44:18 +0000</pubDate>
		<dc:creator>Raphaël Hertzog</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Programmation]]></category>

		<guid isPermaLink="false">http://www.ouaza.com/wordpress/2005/06/08/integrer-un-feed-rss-dans-wml/</guid>
		<description><![CDATA[Je cherchais un moyen simple d&#8217;intégrer un feed RSS dans une page WML (comme Website Meta Language et non pas le langage du WAP) et je ne trouvais rien de prêt à l&#8217;emploi. Étant donné que WML emploie perl de manière importante, je me suis dit que je pourrai écrire les quelques lignes de Perl [...]]]></description>
			<content:encoded><![CDATA[<p>Je cherchais un moyen simple d&#8217;intégrer un feed RSS dans une page WML (comme Website Meta Language et non pas le langage du WAP) et je ne trouvais rien de prêt à l&#8217;emploi. Étant donné que WML emploie perl de manière importante, je me suis dit que je pourrai écrire les quelques lignes de Perl qui vont bien. J&#8217;emploie plusieurs modules dont XML::RSS, pensez donc à l&#8217;installer au préalable (paquet libxml-rss-perl dans Debian). Découvrez le code dans la suite !</p>
<p><span id="more-21"></span></p>
<p>Fichier rss2html.wml :</p>
<pre>
parse($res-&gt;content);
                print "&lt;ol&gt;\n";
                foreach my $item (@{$rss-&gt;{'items'}}[0..$count-1]) {
                    my $title = encode("iso-8859-1", $item-&gt;{'title'});
                    print "&lt;li&gt;&lt;a href=\"$item-&gt;{'link'}\"&gt;";
                    print $title;
                    print "&lt;/a&gt;&lt;/li&gt;\n";
                }
                print "&lt;/ol&gt;\n";
        } else {
                print "Couldn't fetch $url...\n";
        }
}

:&gt;
</pre>
<p>Ensuite pour intégrer un feed dans une page WML il suffit de faire :</p>
<pre>
#include "rss2html.wml"
&lt; : rss2html('http://www.ouaza.com/wordpress/feed/', 10); :&gt;
</pre>
<p>Le premier paramètre est l&#8217;URL du feed et le second le nombre d&#8217;éléments à reprendre.</p>
<p>Et voilà !</p>
<p style="font-size: smaller"><a href="http://raphaelhertzog.fr/2005/06/08/integrer-un-feed-rss-dans-wml/#comments">Aucun commentaire pour le moment</a> | Vous avez aimé ? <a href="http://raphaelhertzog.fr/soutenir/">Cliquez ici</a>. | Ce blog utilise <a href="http://flattr.com/thing/26572/Destination-Debian" target="_blank">Flattr</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://raphaelhertzog.fr/2005/06/08/integrer-un-feed-rss-dans-wml/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Réordonner les pages dans WordPress</title>
		<link>http://raphaelhertzog.fr/2005/03/18/reordonner-les-pages-dans-wordpress/</link>
		<comments>http://raphaelhertzog.fr/2005/03/18/reordonner-les-pages-dans-wordpress/#comments</comments>
		<pubDate>Fri, 18 Mar 2005 22:40:43 +0000</pubDate>
		<dc:creator>Raphaël Hertzog</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Programmation]]></category>

		<guid isPermaLink="false">http://www.ouaza.com/wordpress/2005/03/18/reordonner-les-pages-dans-wordpress/</guid>
		<description><![CDATA[Le thème par défaut de WordPress 1.5 a de nombreux défauts malgré sa belle apparence. Petit à petit j&#8217;apprends à les dépasser. Le problème qui m&#8217;a occupé aujourd&#8217;hui est très simple. La liste de pages située sur la droite est triée par défaut selon le titre&#8230; or je voulais trier manuellement, j&#8217;ai donc changé le [...]]]></description>
			<content:encoded><![CDATA[<p>Le thème par défaut de WordPress 1.5 a de nombreux défauts malgré sa belle apparence. Petit à petit j&#8217;apprends à les dépasser.</p>
<p>Le problème qui m&#8217;a occupé aujourd&#8217;hui est très simple. La liste de <em>pages</em> située sur la droite est triée par défaut selon le titre&#8230; or je voulais trier manuellement, j&#8217;ai donc changé le <em>numéro d&#8217;ordre</em> de chacune des pages dans l&#8217;interface d&#8217;administration. Puis j&#8217;ai cherché dans le thème comment ce bout de HTML est généré. On trouve ainsi une fonction wp_list_pages dans le fichier patron correspondant à la barre de côté (sidebar.php)&#8230; en lisant le code source de cette fonction (fichier <code>wp-includes/template-functions-post.php</code>) je me suis aperçu qu&#8217;il était possible de passer des paramètres supplémentaires et notamment un champ qui s&#8217;appelle <code>sort_column</code> (colonne de tri). Voici donc le petit bout de code à mettre pour trier selon numéro d&#8217;ordre croissant :</p>
<pre>
wp_list_pages('title_li=&lt;h2&gt;' . __('Pages') . '&lt;/h2&gt;&amp;sort_column=menu_order' );
</pre>
<p>Pour trier par ordre décroissant, il serait possible de rajouter un paramètre supplémentaire <code>sort_order=DESC</code>. Et voilà.</p>
<p style="font-size: smaller"><a href="http://raphaelhertzog.fr/2005/03/18/reordonner-les-pages-dans-wordpress/#comments">Aucun commentaire pour le moment</a> | Vous avez aimé ? <a href="http://raphaelhertzog.fr/soutenir/">Cliquez ici</a>. | Ce blog utilise <a href="http://flattr.com/thing/26572/Destination-Debian" target="_blank">Flattr</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://raphaelhertzog.fr/2005/03/18/reordonner-les-pages-dans-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

