<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://blog.guillaume.lelarge.info/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>gleu's blog - Tag - dotclear</title>
  <link>http://blog.guillaume.lelarge.info/index.php/</link>
  <atom:link href="http://blog.guillaume.lelarge.info/index.php/feed/tag/dotclear/rss2" rel="self" type="application/rss+xml"/>
  <description></description>
  <language>fr</language>
  <pubDate>Tue, 06 Jan 2009 23:08:31 +0100</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Améliorations sur le blog</title>
    <link>http://blog.guillaume.lelarge.info/index.php/post/2007/06/30/Ameliorations-sur-le-blog</link>
    <guid isPermaLink="false">urn:md5:e904865c01fcd7f11bc794889e5ae605</guid>
    <pubDate>Sat, 30 Jun 2007 15:31:00 +0200</pubDate>
    <dc:creator>Guillaume Lelarge</dc:creator>
        <category>PostgreSQL</category>
        <category>dotclear</category><category>postgresql</category>    
    <description>    &lt;p&gt;... ou comment se faciliter la vie avec PostgreSQL.&lt;/p&gt;


&lt;p&gt;Depuis que je suis passé à DotClear 2, je n'avais pas fait le nécessaire pour récupérer les images. Du coup, tous mes billets de la catégorie voyages étaient beaucoup plus dénudés. J'ai donc décidé de corriger ça aujourd'hui. J'avais un peu peur d'avoir à me reprendre tous les billets manuellement un par un. Heureusement, j'ai installé DotClear 2 avec la base de données PostgreSQL. Du coup, je me suis intéressé au schéma de la base utilisée par DotClear.&lt;/p&gt;


&lt;p&gt;Son contenu est assez compréhensible. 17 tables que voici :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;dc_blog, liste des blogs&lt;/li&gt;
&lt;li&gt;dc_category, liste des catégories&lt;/li&gt;
&lt;li&gt;dc_comment, tous les commentaires&lt;/li&gt;
&lt;li&gt;dc_link, liste des liens&lt;/li&gt;
&lt;li&gt;dc_log, journal d'activité&lt;/li&gt;
&lt;li&gt;dc_media, liste des médias (voir le gestionnaire des médias)&lt;/li&gt;
&lt;li&gt;dc_meta, liste des meta-données (tags par exemple)&lt;/li&gt;
&lt;li&gt;dc_permissions, droits par utilisateur&lt;/li&gt;
&lt;li&gt;dc_ping,&lt;/li&gt;
&lt;li&gt;dc_post, liste des billets&lt;/li&gt;
&lt;li&gt;dc_post_media, lien billet/média&lt;/li&gt;
&lt;li&gt;dc_session, session en cours&lt;/li&gt;
&lt;li&gt;dc_session_old, ?&lt;/li&gt;
&lt;li&gt;dc_setting, paramétrage&lt;/li&gt;
&lt;li&gt;dc_spamrule, liste des règles antispam&lt;/li&gt;
&lt;li&gt;dc_user, liste des utilisateurs&lt;/li&gt;
&lt;li&gt;dc_version, version de DotClear.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Dans mon cas, je m'intéresse à la description des billets. Je souhaite modifier l'adresse des images. Voici donc le contenu de la table dc_post :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;post_id, identifiant du post&lt;/li&gt;
&lt;li&gt;blog_id, identifiant du blog associé&lt;/li&gt;
&lt;li&gt;user_id, identifiant du créateur&lt;/li&gt;
&lt;li&gt;cat_id, identifiant de la catégorie&lt;/li&gt;
&lt;li&gt;post_dt, date (de création ?)&lt;/li&gt;
&lt;li&gt;post_tz, fuseau horaire&lt;/li&gt;
&lt;li&gt;post_creadt, date de création&lt;/li&gt;
&lt;li&gt;post_upddt, date de mise à jour&lt;/li&gt;
&lt;li&gt;post_password, mot de passe&lt;/li&gt;
&lt;li&gt;post_type, type&lt;/li&gt;
&lt;li&gt;post_format, format&lt;/li&gt;
&lt;li&gt;post_url, url&lt;/li&gt;
&lt;li&gt;post_lang, langue&lt;/li&gt;
&lt;li&gt;post_title, titre&lt;/li&gt;
&lt;li&gt;post_excerpt, extrait (wiki)&lt;/li&gt;
&lt;li&gt;post_excerpt_xhtml, extrait (xhtml)&lt;/li&gt;
&lt;li&gt;post_content, contenu (wiki)&lt;/li&gt;
&lt;li&gt;post_content_xhtml, contenu (xhtml)&lt;/li&gt;
&lt;li&gt;post_notes, notes&lt;/li&gt;
&lt;li&gt;post_words, mots significatifs&lt;/li&gt;
&lt;li&gt;post_meta, liste des tags (à priori dans une structure PHP)&lt;/li&gt;
&lt;li&gt;post_status, état du billet&lt;/li&gt;
&lt;li&gt;post_selected, billet sélectionné&lt;/li&gt;
&lt;li&gt;post_open_comment, commentaires acceptés&lt;/li&gt;
&lt;li&gt;post_open_tb, rétroliens acceptés&lt;/li&gt;
&lt;li&gt;nb_comment, nombre de commentaires&lt;/li&gt;
&lt;li&gt;nb_trackback, nombres de rétroliens&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;On remarque aussi des index et des clés étrangères, ce qui démontre une belle utilisation des possibilités de PostgreSQL.&lt;/p&gt;


&lt;p&gt;Trois champs m'intéressent particulièrement : post_upddt, post_content et post_content_xhtml. Je dois chercher dans les deux derniers le texte &lt;code&gt;/~gleu/dotclear/ecrire/images/&lt;/code&gt; et le remplacer par &lt;code&gt;/public/images_dc1&lt;/code&gt;. Il me faut aussi mettre à jour post_upddt pour indiquer la date de mise à jour. Voici la requête que j'ai utilisé :&lt;/p&gt;

&lt;pre&gt;
UPDATE dc_post SET
  post_upddt=current_timestamp,
  post_content=replace(post_content, '/~gleu/dotclear/ecrire/images/', '/public/images_dc1/'),
  post_content_xhtml=replace(post_content_xhtml, '/~gleu/dotclear/ecrire/images/', '/public/images_dc1/')
WHERE post_content like '%/~gleu/dotclear/ecrire/images/%'
  OR post_content_xhtml like '%/~gleu/dotclear/ecrire/images/%';
&lt;/pre&gt;


&lt;p&gt;Après exécution de cette requête, toutes les images pointent maintenant vers le bon répertoire. Trop bien &lt;img src=&quot;/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;PS : j'ai aussi ajouté des tas de tags, mais c'était beaucoup moins drôle.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.guillaume.lelarge.info/index.php/post/2007/06/30/Ameliorations-sur-le-blog#comment-form</comments>
      <wfw:comment>http://blog.guillaume.lelarge.info/index.php/post/2007/06/30/Ameliorations-sur-le-blog#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.guillaume.lelarge.info/index.php/feed/atom/comments/786</wfw:commentRss>
      </item>
    
  <item>
    <title>Petit état des lieux</title>
    <link>http://blog.guillaume.lelarge.info/index.php/post/2007/02/21/Petit-etat-des-lieux</link>
    <guid isPermaLink="false">urn:md5:175459b1e9c1b93127e362686a558973</guid>
    <pubDate>Wed, 21 Feb 2007 01:14:00 +0000</pubDate>
    <dc:creator>Guillaume Lelarge</dc:creator>
        <category>Général</category>
        <category>dotclear</category><category>firebug</category><category>fosdem</category><category>pgadmin</category><category>php</category>    
    <description>    &lt;p&gt;Comme certains se plaignent de ne plus voir de billets sur mon blog, voici un petit état des lieux bref et rapide (car après tout, il est déjà 1h du mat) :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;J'ai mes billets de train et ma réservation de chambre, je suis donc prêt pour le &lt;a href=&quot;http://www.fosdem.org/2007/&quot; hreflang=&quot;en&quot;&gt;FOSDEM&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;J'ai fini l'écriture de l'article pour &lt;a href=&quot;http://en.phpsolmag.org/&quot; hreflang=&quot;en&quot;&gt;PHP Solutions&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;J'ai réglé un problème professionnel d'une façon qui me plaît et qui, du coup, fera l'objet d'un autre billet.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://addons.mozilla.org/firefox/1843/&quot; hreflang=&quot;en&quot;&gt;Firebug&lt;/a&gt;, c'est trop de la balle (pas de rapport avec la ligne précédente, même si je m'en suis aperçu au boulot).&lt;/li&gt;
&lt;li&gt;J'ai mis à jour &lt;a href=&quot;http://www.dotclear.net/log/post/2007/02/19/Dotclear-2-beta-6&quot; hreflang=&quot;fr&quot;&gt;DotClear2&lt;/a&gt;, la nouvelle interface est plus jolie (mais pas révolutionnaire).&lt;/li&gt;
&lt;li&gt;Je teste l'interface multiblog de DotClear, c'est pas mal du tout.&lt;/li&gt;
&lt;li&gt;Il faut absolument que je trouve du temps pour créer quelques slides sur la 8.2.&lt;/li&gt;
&lt;li&gt;Il faut que je revois l'étendue des dégâts concernant la trad de pgAdmin.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pas accessoirement du tout, je vais être le parrain de ma filleu^Wnièce \o/ Rien que ça, ça re-donne le sourire. &lt;img src=&quot;/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.guillaume.lelarge.info/index.php/post/2007/02/21/Petit-etat-des-lieux#comment-form</comments>
      <wfw:comment>http://blog.guillaume.lelarge.info/index.php/post/2007/02/21/Petit-etat-des-lieux#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.guillaume.lelarge.info/index.php/feed/atom/comments/702</wfw:commentRss>
      </item>
    
  <item>
    <title>Quelques news sur ce blog...</title>
    <link>http://blog.guillaume.lelarge.info/index.php/post/2007/01/18/Quelques-news-sur-ce-blog</link>
    <guid isPermaLink="false">urn:md5:174592557561d67ab70e55d35e446a95</guid>
    <pubDate>Thu, 18 Jan 2007 23:12:00 +0000</pubDate>
    <dc:creator>Guillaume Lelarge</dc:creator>
        <category>Linux</category>
        <category>debian</category><category>dotclear</category><category>postgresql</category>    
    <description>    &lt;p&gt;Je suis enfin passé à PostgreSQL 8.1 sur le serveur. Pas trop compliqué malgré que ce soit une sarge :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ajout de « deb http://people.debian.org/~mpitt/packages/sarge-backports/ ./ » dans son /etc/apt/sources.list&lt;/li&gt;
&lt;li&gt;« pg_dumpall &amp;gt; all.dump »&lt;/li&gt;
&lt;li&gt;« apt-get update »,&lt;/li&gt;
&lt;li&gt;« apt_get upgrade »,&lt;/li&gt;
&lt;li&gt;« psql -f all.dump postgres ».&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Du coup, cela m'a permis d'installer DotClear 2.0 beta 5.2. En effet, à partir de la beta 4, le driver PG demande une version 8 obligatoirement. Cool, non ? &lt;img src=&quot;/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.guillaume.lelarge.info/index.php/post/2007/01/18/Quelques-news-sur-ce-blog#comment-form</comments>
      <wfw:comment>http://blog.guillaume.lelarge.info/index.php/post/2007/01/18/Quelques-news-sur-ce-blog#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.guillaume.lelarge.info/index.php/feed/atom/comments/674</wfw:commentRss>
      </item>
    
  <item>
    <title>Ce blog a déménagé</title>
    <link>http://blog.guillaume.lelarge.info/index.php/post/2006/08/04/Ce-blog-a-demenage</link>
    <guid isPermaLink="false">urn:md5:abe4b05045bab8ad35c930ae5d5cc048</guid>
    <pubDate>Fri, 04 Aug 2006 05:34:00 +0000</pubDate>
    <dc:creator>Guillaume Lelarge</dc:creator>
        <category>Général</category>
        <category>dotclear</category><category>postgresql</category>    
    <description>    &lt;p&gt;Il a trouvé un nouvel emplacement où on lui propose du &lt;a href=&quot;http://www.postgresql.org&quot; hreflang=&quot;fr&quot; title=&quot;Site web d'un excellent SGBD, PostgreSQL&quot;&gt;PostgreSQL&lt;/a&gt; qui ne pète pas les tables tous les matins. Non, je ne suis pas &lt;a href=&quot;http://www.mysql.org&quot; hreflang=&quot;fr&quot; title=&quot;Site web d'un jouet mal conçu&quot;&gt;fâché contre MySQL&lt;/a&gt;, je savais ce que je risquais. Ça a pris plus de temps que je ne le pensais pour planter...&lt;/p&gt;


&lt;p&gt;Bref, de toute façon, je voulais déplacer mon blog sur ma &lt;a href=&quot;http://www.dedibox.fr&quot; hreflang=&quot;fr&quot;&gt;dedibox&lt;/a&gt;. Je voulais tester &lt;a href=&quot;http://www.dotclear.net/&quot; hreflang=&quot;fr&quot;&gt;dotclear 2&lt;/a&gt;. J'ai fait d'une &lt;a href=&quot;http://pierre.palats.com/cambridge/&quot; hreflang=&quot;fr&quot; title=&quot;Site de pierre... ok, ma blague est nulle... mais je l'aime bien quand même :)&quot;&gt;pierre&lt;/a&gt; deux coups. Résultats : &lt;a href=&quot;http://www.dotclear.net&quot; hreflang=&quot;fr&quot;&gt;dotclear2&lt;/a&gt; est superbe, mon blog ne plante plus grâce à &lt;a href=&quot;http://www.postgresqlfr.org&quot; hreflang=&quot;fr&quot; title=&quot;Site web de la communauté française de PostgreSQL&quot;&gt;PostgreSQL&lt;/a&gt;. Tout va bien &lt;img src=&quot;/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.guillaume.lelarge.info/index.php/post/2006/08/04/Ce-blog-a-demenage#comment-form</comments>
      <wfw:comment>http://blog.guillaume.lelarge.info/index.php/post/2006/08/04/Ce-blog-a-demenage#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.guillaume.lelarge.info/index.php/feed/atom/comments/581</wfw:commentRss>
      </item>
    
  <item>
    <title>grmbl de spammeurs</title>
    <link>http://blog.guillaume.lelarge.info/index.php/post/2006/07/15/572-grmbl-de-spammeurs</link>
    <guid isPermaLink="false">urn:md5:7622b187e46c9016731a4abe61c21a2b</guid>
    <pubDate>Sat, 15 Jul 2006 08:23:41 +0000</pubDate>
    <dc:creator>Guillaume Lelarge</dc:creator>
        <category>Général</category>
        <category>dotclear</category>    
    <description>    &lt;p&gt;3000 spams hier, ça m'a suffit pour prendre la peine d'installer &lt;a href=&quot;http://www.sous-anneau.org/blog/post/2006/06/08/Nouveau-spamplemousse&quot; hreflang=&quot;fr&quot;&gt;spamplemousse&lt;/a&gt;. Un très bon outil. Il m'a déjà mis en quarantaine les 800 commentaires spammés de ce matin (entre minuit et 8h) et il m'a permis de les supprimer facilement. Il en a laissé passer seulement quatre. Un outil à recommander.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.guillaume.lelarge.info/index.php/post/2006/07/15/572-grmbl-de-spammeurs#comment-form</comments>
      <wfw:comment>http://blog.guillaume.lelarge.info/index.php/post/2006/07/15/572-grmbl-de-spammeurs#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.guillaume.lelarge.info/index.php/feed/atom/comments/563</wfw:commentRss>
      </item>
    
</channel>
</rss>