<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="https://uname.pingveno.net/blog/index.php/feed/rss2/xslt" ?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title># uname -a - Mot-clé - programmation</title>
    <link>https://uname.pingveno.net/blog/index.php/</link>
    <atom:link href="https://uname.pingveno.net/blog/index.php/feed/tag/programmation/rss2" rel="self" type="application/rss+xml" />
    <description>Le blog de uname.pingveno.net</description>
    <language>fr</language>
    <pubDate>Tue, 18 Aug 2026 13:46:21 +0200</pubDate>
    <copyright>Mathieu Pellegrin</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>Dotclear</generator>
          <item>
        <title>Insérer les articles de Dotclear sur son site</title>
        <link>https://uname.pingveno.net/blog/index.php/post/2010/07/14/Ins%C3%A9rer-les-articles-de-Dotclear-sur-son-site</link>
        <guid isPermaLink="false">urn:md5:d18c39bca3d63192144d6ea6e2a12eb3</guid>
        <pubDate>Wed, 14 Jul 2010 17:06:00 +0200</pubDate>
        <dc:creator>Mathieu</dc:creator>
                  <category>Informatique</category>
                          <category>dotclear</category>
                  <category>note</category>
                  <category>programmation</category>
                <description>&lt;p&gt;C'est quelque chose qui existe probablement déjà, mais comme je l'ai
développé pour mon site, je vous propose ma solution, petite astuce à
l'échelle des tutos Dotclear existants.&lt;/p&gt;          &lt;h3&gt;Si votre site et Dotclear partagent le même espace&lt;/h3&gt;
&lt;p&gt;Par « partagent le même espace », j'entends que les fichiers de Dotclear sont accessibles depuis l'endroit où vous voulez placer les articles. Il est également possible d'utiliser cette méthode si il n'y a pas d'accès au fichier de configuration de Dotclear, mais dans ce cas on ne pourra pas se servir de la couche d'abstraction fournie par le moteur de blog, et il aurait fallut faire les requêtes « en dur ».&lt;/p&gt;
&lt;p&gt;Dans notre cas, il suffit d'inclure les fichiers de Dotclear et de jouer avec l'API :&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;code&gt;&amp;lt;?php&lt;br /&gt;define('CONF_ONLY','1');
&lt;br /&gt;include_once('./blog/inc/config.php');
&lt;br /&gt;include_once('./blog/inc/clearbricks/dblayer/dblayer.php');
&lt;br /&gt;try
&lt;br /&gt;{
&lt;br /&gt;&amp;nbsp; @$db = dbLayer::init(DC_DBDRIVER,DC_DBHOST,DC_DBNAME,DC_DBUSER,DC_DBPASSWORD,0);
&lt;br /&gt;&amp;nbsp; @$conn = $db-&amp;gt;db_connect(DC_DBHOST,DC_DBUSER,DC_DBPASSWORD,DC_DBNAME);
&lt;br /&gt;}
&lt;br /&gt;catch (Exception $e)
&lt;br /&gt;{
&lt;br /&gt;&amp;nbsp; $db = '';
&lt;br /&gt;&amp;nbsp; echo 'Erreur de connexion';
&lt;br /&gt;}
&lt;br /&gt;&amp;nbsp;&lt;br /&gt;if(!$db)
&lt;br /&gt;{
&lt;br /&gt;&amp;nbsp; //exit;
&lt;br /&gt;}
&lt;br /&gt;else
&lt;br /&gt;{
&lt;br /&gt;&amp;nbsp; $query =
&lt;br /&gt;&amp;nbsp; ' SELECT post_id,post_title,post_url
&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM '.DC_DBPREFIX.'post
&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE post_status = \'1\'
&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ORDER BY post_dt DESC LIMIT 5';
&lt;br /&gt;&amp;nbsp; $result = $db-&amp;gt;db_query($conn,$query);
&lt;br /&gt;&amp;nbsp; $num_results = $db-&amp;gt;db_num_rows($result);
&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp; echo '&amp;lt;ul&amp;gt;';
&lt;br /&gt;&amp;nbsp; for($i = 0 ; $i &amp;lt; $num_results ; $i++)
&lt;br /&gt;&amp;nbsp; {
&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $row = $db-&amp;gt;db_fetch_assoc($result);
&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $row['post_title'] = htmlspecialchars($row['post_title']);
&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo '&amp;lt;li&amp;gt;&amp;lt;a href=&quot;https://uname.pingveno.net/blog/index.php/post/2010/07/14/./blog/index.php/post/'.$row['post_url'].'&quot; title=&quot;'.$row['post_title'].'&quot;&amp;gt;'.$row['post_title'].'&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;';
&lt;br /&gt;&amp;nbsp; }
&lt;br /&gt;&amp;nbsp; echo '&amp;lt;/ul&amp;gt;';
&lt;br /&gt;&amp;nbsp; $db-&amp;gt;db_close($conn);
&lt;br /&gt;}
&lt;br /&gt;?&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;La requête ici n'affiche que les titres, triés par date de publication, mais on peut la modifier pour qu'elle renvoie plus d'informations.&lt;/p&gt;
&lt;h3&gt;Si les fichiers de Dotclear ne sont pas accessibles, et la base non plus d'ailleurs&lt;/h3&gt;
&lt;p&gt;Dans ce cas, je suppose que le flux est quand même accessible, au minimum, nous allons récupérer le flux RSS du blog et le traiter. Pour ça on va utiliser un logiciel qui - il me semble - n'est plus maintenu, mais qui fait toujours très bien son travail : &lt;a hreflang=&quot;en&quot; href=&quot;http://magpierss.sourceforge.net/&quot;&gt;http://magpierss.sourceforge.net/&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;code&gt;&amp;lt;?php&lt;br /&gt;require_once('./magpierss/rss_fetch.inc');&lt;br /&gt;&lt;br /&gt;define('MAGPIE_OUTPUT_ENCODING', 'UTF-8');&lt;br /&gt;&lt;br /&gt;$url = &quot;http://mathedit.free.fr/blog/index.php/feed/rss2&quot;;&lt;br /&gt;$rss = fetch_rss($url);&lt;br /&gt;&lt;br /&gt;$max_items = 5;&lt;br /&gt;$i = 0;&lt;br /&gt;&lt;br /&gt;foreach ($rss-&amp;gt;items as $item )&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ($i&amp;gt;$max_items)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $title = $item['title'];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $url = $item['link'];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $summary = substr(strip_tags($item['summary']),0,100);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo '&amp;lt;p&amp;gt;'.$summary.' &amp;lt;a href=&quot;https://uname.pingveno.net/blog/index.php/post/2010/07/14/'.$url.'&quot;&amp;gt;lire&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;';&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $i++;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Voilà c'est tout, n'oubliez pas d'encapsuler tout ça dans une classe pour la forme, et amusez vous bien &lt;img src=&quot;/blog/themes/mathedit_material3/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot;&gt;&lt;/p&gt;</description>
        
              </item>
          <item>
        <title>Facebook : Introduction aux comptes Test</title>
        <link>https://uname.pingveno.net/blog/index.php/post/2009/08/22/Facebook-%3A-Introduction-aux-comptes-Test</link>
        <guid isPermaLink="false">urn:md5:5a26c788bdd91d6479374586780d608a</guid>
        <pubDate>Sat, 22 Aug 2009 14:55:00 +0200</pubDate>
        <dc:creator>Mathieu</dc:creator>
                  <category>Informatique</category>
                          <category>API</category>
                  <category>facebook</category>
                  <category>note</category>
                  <category>programmation</category>
                <description>&lt;p&gt;Ce billet est issu d'une sauvegarde de mon ancien blog,
il est peut être obsolète, mais conserve un intérêt dans le contexte de
ce blog.&lt;/p&gt;          &lt;h3&gt;Comptes Test ?&lt;/h3&gt;
&lt;p&gt;Un compte Test sur Facebook est un « faux » compte utilisé par les
développeurs d'un application pour l'essayer, les comptes Test servent
donc de cobaye, en attendant que les &lt;del&gt;pigeons&lt;/del&gt; utilisateurs la mettent à l'épreuve (version finale, aussi appelée &lt;em&gt;gold release&lt;/em&gt;, ou &lt;em&gt;foolproof release&lt;/em&gt;).&lt;/p&gt;
&lt;h3&gt;Pourquoi faire ?&lt;/h3&gt;
&lt;p&gt;Un compte test permet donc essentiellement de tester l'application,
cependant il peut aussi avoir des applications ludiques, comme par
exemple ... Jouer aux Sims&lt;sup&gt;TM&lt;/sup&gt; sur Facebook !&lt;/p&gt;
&lt;h3&gt;Comment faire ?&lt;/h3&gt;
&lt;p&gt;Pour commencer, déconnectez vous de Facebook, oui je sais c'est très difficile...&lt;/p&gt;
&lt;p&gt;Ensuite, créez un nouveau compte avec un nom farfelu, et une nouvelle
adresse mail. Vous pouvez utiliser des alias temporaires avec des
fournisseurs d'adresses email jetables, mais dans ce cas ne perdez pas
le mot de passe ensuite...&lt;/p&gt;
&lt;p&gt;Et au final, rejoignez le &lt;a href=&quot;http://www.facebook.com/developers/become_test_account.php&quot;&gt;réseau des comptes Test&lt;/a&gt; !&lt;/p&gt;
&lt;p&gt;Bon avec un seul c'est pas marrant. Avec 3 ou 4 ça commence à devenir
intéressant, vous pouvez imaginer une famille complète avec des
liaisons dans tous les sens, frères, soeurs, en relation avec, etc.&lt;/p&gt;
&lt;h3&gt;Comment ça marche ?&lt;/h3&gt;
&lt;p&gt;vous n'êtes pas sans ignorer que Facebook est composé de réseaux,
certains sont privés, certains donnent accès à des ressources, celui ci
est ouvert mais fermé sur l'extérieur : un compte Test ne peut
communiquer qu'avec des comptes Test (ou la vie est cruelle), à partir
du moment où vous restez dans ce réseau, vous êtes un compte Test.&lt;/p&gt;
&lt;p&gt;Pour le quitter, c'est &lt;a href=&quot;http://www.facebook.com/editaccount.php?networks&quot;&gt;comme un réseau normal&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;Ne devenez jamais développeur d'applications, ça oblige à pondre des billets pourris comme celui ci :D&lt;/p&gt;</description>
        
              </item>
      </channel>
</rss>
