<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="https://mudry.org/blog/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>Un blog inutile de plus... - Pense-bête</title>
    <link>https://mudry.org/blog/</link>
    <atom:link href="https://mudry.org/blog/feed/category/Pense-bete/rss2" rel="self" type="application/rss+xml" />
    <description></description>
    <language>fr</language>
    <pubDate>Mon, 06 Apr 2026 12:42:40 +0200</pubDate>
    <copyright></copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>Dotclear</generator>
          <item>
        <title>Strawberry Perl, ImageMagick, Windows... et problèmes de compilation</title>
        <link>https://mudry.org/blog/post/2013/04/27/Strawberry-Perl-ImageMagick-Windows...-et-probl%C3%A8mes-de-compilation</link>
        <guid isPermaLink="false">urn:md5:efc34f50042bb1b00f68e08ca0b3837a</guid>
        <pubDate>Sat, 27 Apr 2013 18:40:00 +0200</pubDate>
        <dc:creator>ȷulmud</dc:creator>
                  <category>Pense-bête</category>
                        <description>          &lt;p&gt;Bon, vu que j'ai perdu plusieurs heures (et que ce n'est pas la première fois que cela m'arrive) là-dessus, un petit billet pour essayer de s'en souvenir.&lt;/p&gt;


&lt;p&gt;Situation : cela fait des années que j'utilise &lt;a href=&quot;http://strawberryperl.com/&quot; hreflang=&quot;en&quot; title=&quot;Strawberry Perl for Windows&quot;&gt;Perl sous Windows&lt;/a&gt; (pour plein de choses), et &lt;a href=&quot;http://imagemagick.org/&quot; hreflang=&quot;en&quot;&gt;ImageMagick&lt;/a&gt; (pour le traitement automatique en ligne de commandes d'images). Mais, à chaque fois que je fais une mise à jour de l'un ou l'autre de ces outils, c'est la croix et la bannière pour réussir à les faire à nouveau parler entre eux !&lt;/p&gt;


&lt;p&gt;D'après la documentation, c'est très simple :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;cpan&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;install Image::Magick&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;et voilà, c'est tout...&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;D'après mon expérience, ça ne se passe jamais comme ça :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;les versions disponibles sur CPAN et sur le site d'ImageMagick ne sont pas alignées,&lt;sup&gt;[&lt;a href=&quot;https://mudry.org/blog/post/2013/04/27/Strawberry-Perl-ImageMagick-Windows...-et-probl%C3%A8mes-de-compilation#wiki-footnote-1&quot; id=&quot;rev-wiki-footnote-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt; ce qui pose des soucis d'interface entre librairies ;&lt;/li&gt;
&lt;li&gt;et même si les versions sont alignées, la compilation ne s'est jamais passée du premier coup.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Donc, si, lors de la compilation, vous avez un message « &lt;code&gt;Warning (mostly harmless): No library found for -lMagickCore-Q16&lt;/code&gt; », détrompez-vous, ce n'est pas bénin ! Ce sera alors suivi de quantité de messages d'erreur (que la bienséance m'empêche de répéter céans) lors de l'étape de la génération de liens.&lt;/p&gt;


&lt;p&gt;Les étapes que j'ai effectuées pour finalement réussir à compiler Image::Magick :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;installer la version d'ImageMagick qui correspond à la version d'Image::Magick sur CPAN (soit la 6.8.2 lors de l'écriture de ce billet) ;&lt;sup&gt;[&lt;a href=&quot;https://mudry.org/blog/post/2013/04/27/Strawberry-Perl-ImageMagick-Windows...-et-probl%C3%A8mes-de-compilation#wiki-footnote-2&quot; id=&quot;rev-wiki-footnote-2&quot;&gt;2&lt;/a&gt;]&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cpan&lt;/code&gt; ;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;get Image::Magick&lt;/code&gt; ;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;look Image::Magick&lt;/code&gt; ;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;perl Makefile.PL&lt;/code&gt; ;&lt;/li&gt;
&lt;li&gt;éditer le fichier &lt;code&gt;Makefile&lt;/code&gt; et ajouter &lt;code&gt; -lCORE_RL_Magick_&lt;/code&gt;&lt;sup&gt;[&lt;a href=&quot;https://mudry.org/blog/post/2013/04/27/Strawberry-Perl-ImageMagick-Windows...-et-probl%C3%A8mes-de-compilation#wiki-footnote-3&quot; id=&quot;rev-wiki-footnote-3&quot;&gt;3&lt;/a&gt;]&lt;/sup&gt; à la fin de la ligne &lt;code&gt;LDLOADLIBS =&lt;/code&gt; ;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;dmake&lt;/code&gt; (qui, normalement, ne devrait plus se plaindre de quoi que ce soit) ;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;dmake install&lt;/code&gt; ;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;exit&lt;/code&gt; ;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;exit&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Et voilà, la librairie est maintenant normalement disponible pour les programmes Perl. Joie, bonheur, contentement !&lt;/p&gt;


&lt;p&gt;Further reading : &lt;a href=&quot;https://www.imagemagick.org/discourse-server/viewtopic.php?t=29426&quot; hreflang=&quot;en&quot;&gt;Install ImageMagick on Strawberry Perl on Win 10&lt;/a&gt;&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;https://mudry.org/blog/post/2013/04/27/Strawberry-Perl-ImageMagick-Windows...-et-probl%C3%A8mes-de-compilation#rev-wiki-footnote-1&quot; id=&quot;wiki-footnote-1&quot;&gt;1&lt;/a&gt;] Au moment d'écrire ce billet, ImageMagick est à la version 6.8.5, Image::Magick sur CPAN est à la version 6.8.2.&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;https://mudry.org/blog/post/2013/04/27/Strawberry-Perl-ImageMagick-Windows...-et-probl%C3%A8mes-de-compilation#rev-wiki-footnote-2&quot; id=&quot;wiki-footnote-2&quot;&gt;2&lt;/a&gt;] Attention, bien évidemment, à choisir une version 32 ou 64 bits qui corresponde à votre installation de Perl. Et surtout, une version « dynamic » (ou « dll ») d'ImageMagick ; et sélectionner l'installation des librairies de développement dans la procédure d'installation.&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;https://mudry.org/blog/post/2013/04/27/Strawberry-Perl-ImageMagick-Windows...-et-probl%C3%A8mes-de-compilation#rev-wiki-footnote-3&quot; id=&quot;wiki-footnote-3&quot;&gt;3&lt;/a&gt;] Pour trouver ce nom là, regarder dans le sous-dossier &lt;code&gt;lib&lt;/code&gt; du répertoire d'installation d'ImageMagick.&lt;/p&gt;&lt;/div&gt;
</description>
        
              </item>
          <item>
        <title>J'aime le web...</title>
        <link>https://mudry.org/blog/post/2011/03/26/J-aime-le-web</link>
        <guid isPermaLink="false">urn:md5:3df4977c44bd03a631b9beac5d3e8974</guid>
        <pubDate>Sat, 26 Mar 2011 11:09:00 +0100</pubDate>
        <dc:creator>ȷulmud</dc:creator>
                  <category>Pense-bête</category>
                          <category>Pense-bête</category>
                  <category>TED</category>
                  <category>Web</category>
                <description>          &lt;p&gt;Il y a des jours où je me dis que c'est quand même bien de vivre à l'ère du web.&lt;/p&gt;


&lt;p&gt;D'un côté, nous avons le cycle de conférences &lt;a href=&quot;http://www.ted.com/&quot; hreflang=&quot;en&quot;&gt;TED &quot;Ideas worth spreading&quot;&lt;/a&gt;&lt;sup&gt;[&lt;a href=&quot;https://mudry.org/blog/post/2011/03/26/J-aime-le-web#pnote-5278-1&quot; id=&quot;rev-pnote-5278-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt;, des conférences de haute qualité sur quantité de sujets différents. Elles sont toutes visibles sur le site web, en anglais, mais sous-titrées dans un grand nombre de langues différentes. Des heures de bonheur et de découvertes à disposition.&lt;/p&gt;


&lt;p&gt;Seulement voilà, j'ai beaucoup de peine à me concentrer pour regarder une vidéo sur mon ordinateur&amp;nbsp;: il y a beaucoup trop de sources de distraction (emails, messagerie instantanée, Twitter, ...) pour que j'y arrive. Heureusement, sur le site de TED, ils ont l'excellente idée de proposer le téléchargement des vidéos et je peux ainsi les regarder sur mon «&amp;nbsp;media center&amp;nbsp;» tranquillement.&lt;/p&gt;


&lt;p&gt;Mais (il en faut bien un), les sous-titres, eux, ne sont pas proposés au téléchargement. Or j'aime bien regarder mes vidéos en anglais avec des sous-titres également en anglais (ça permet de rattraper le petit truc qui m'aurait échappé à l'écoute). Et c'est là qu'entre en scène le site &lt;a href=&quot;http://tedtalksubtitledownload.appspot.com/&quot; hreflang=&quot;en&quot; title=&quot;Ted Talk Subtitle Download&quot;&gt;TTSD&lt;/a&gt;&amp;nbsp;: il permet de télécharger les sous-titres des vidéos TED&amp;nbsp;! Que du bonheur je vous dis&amp;nbsp;!&lt;/p&gt;


&lt;p&gt;J'adore cette émulation qui se produit naturellement dans l'univers du web. Une première personne met à disposition un service, et une autre, sans avoir aucun lien avec la première, peut mettre à disposition un autre service, s'appuyant sur le premier, mais en comblant ce qu'il considère être un manque du premier service.&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;https://mudry.org/blog/post/2011/03/26/J-aime-le-web#rev-pnote-5278-1&quot; id=&quot;pnote-5278-1&quot;&gt;1&lt;/a&gt;] « Des idées qui valent la peine d'être répandues »&lt;/p&gt;&lt;/div&gt;
</description>
        
              </item>
          <item>
        <title>Trucs mplayer</title>
        <link>https://mudry.org/blog/post/2010/11/13/Trucs-mplayer</link>
        <guid isPermaLink="false">urn:md5:ed2fd7c007217e7dc51b5dd6fd94e5b6</guid>
        <pubDate>Sat, 13 Nov 2010 18:39:00 +0100</pubDate>
        <dc:creator>ȷulmud</dc:creator>
                  <category>Pense-bête</category>
                          <category>Pense-bête</category>
                <description>          &lt;p&gt;Deux opérations que j'ai dû faire récemment et dont je tiens à conserver une trace.&lt;/p&gt;


&lt;h3&gt;Extraire la bande son d'un DVD&lt;/h3&gt;

&lt;pre&gt;
mplayer -dvd-device &amp;lt;point de montage du lecteur&amp;gt; dvd://&amp;lt;titre&amp;gt; -chapter &amp;lt;chapitre début&amp;gt;-&amp;lt;chapitre fin&amp;gt; -vc dummy -vo null -af resample=44100 -ao pcm:waveheader:fast:file=&amp;lt;fichier de sortie&amp;gt;.wav
&lt;/pre&gt;


&lt;p&gt;Notes&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;chapitre fin&amp;gt;&lt;/code&gt; est aussi inclus dans ce qui est exporté. Donc, pour exporter seulement le troisième chapitre, il faut utiliser &lt;code&gt;-chapter 3-3&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;L'extraction se fait à un taux d'environ 2.3x sur mon poste.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Voir aussi&amp;nbsp;: &lt;a href=&quot;http://www.axllent.org/docs/video/mencoder_dvd_to_mpeg4&quot; hreflang=&quot;en&quot;&gt;axllent.org/docs/video/mencoder_dvd_to_mpeg4&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;Faire un film à partir d'une seule image et une bande son&lt;/h3&gt;

&lt;pre&gt;
ffmpeg -loop_input -shortest -i &amp;lt;image.jpg&amp;gt; -i &amp;lt;son.mp3&amp;gt; -acodec copy -b 200k -f mp4 &amp;lt;fichier de sortie&amp;gt;.mp4
&lt;/pre&gt;</description>
        
              </item>
          <item>
        <title>Ohlala!</title>
        <link>https://mudry.org/blog/post/2009/09/09/Ohlala</link>
        <guid isPermaLink="false">urn:md5:253a25e611f3c76eaa5125df36c79c90</guid>
        <pubDate>Wed, 09 Sep 2009 18:17:00 +0200</pubDate>
        <dc:creator>ȷulmud</dc:creator>
                  <category>Pense-bête</category>
                          <category>Paris</category>
                  <category>Pense-bête</category>
                <description>          &lt;p&gt;Une chose est sure&amp;nbsp;: lors de mon prochain passage à Paris, j'irai prendre un repas au restaurant &lt;a href=&quot;http://www.ohlala-paris.fr/&quot; hreflang=&quot;fr&quot;&gt;Ohlala!&lt;/a&gt; Pourquoi&amp;nbsp;? Simplement parce que les propriétaires du lieu ont eu l'excellente idée de mandater &lt;a href=&quot;http://www.space-invaders.com/&quot; hreflang=&quot;fr&quot;&gt;Invader&lt;/a&gt; pour qu'il réalise une fresque sur l'un des murs du restaurant... et puisque je suis toujours autant fan du travail de cet artiste, je me dois d'aller voir cela.&lt;/p&gt;</description>
        
              </item>
          <item>
        <title>Canaux DVB-T pour VideoLAN 0.9</title>
        <link>https://mudry.org/blog/post/2008/08/13/Canaux-DVB-T-pour-VideoLan-09</link>
        <guid isPermaLink="false">urn:md5:36df45339ec0a0be609f166b9870944f</guid>
        <pubDate>Wed, 13 Aug 2008 20:43:00 +0200</pubDate>
        <dc:creator>ȷulmud</dc:creator>
                  <category>Pense-bête</category>
                          <category>Pense-bête</category>
                <description>          &lt;p&gt;Paramétrisation de VideoLAN Client 0.9 pour l'utilisation la TNT avec l'antenne la plus proche de chez moi&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;:dvb-frequency -&amp;gt; 754000&lt;/li&gt;
&lt;li&gt;:dvb-bandwidth -&amp;gt; 8&lt;/li&gt;
&lt;li&gt;:program
&lt;ul&gt;
&lt;li&gt;TSR1 -&amp;gt; 257&lt;/li&gt;
&lt;li&gt;TSR2 -&amp;gt; 258&lt;/li&gt;
&lt;li&gt;SF1 -&amp;gt; 1&lt;/li&gt;
&lt;li&gt;TSI1 -&amp;gt; 513&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;:access-filter -&amp;gt; timeshift  (permet de mettre en pause la TNT)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Et pour passer cela en streaming sur UDP, il faut ajouter les paramètres&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;:sout=#standard{access=udp,mux=ts,dst=x.x.x.x:1234}&lt;/pre&gt;

&lt;p&gt;où &lt;code&gt;x.x.x.x&lt;/code&gt; représente l'adresse IP de l'ordinateur de destination.&lt;/p&gt;


&lt;p&gt;Si on veut quand même visualiser sur le serveur ce qui est envoyé, le paramètre &lt;code&gt;sout&lt;/code&gt; devient&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;:sout=#duplicate{dst=display,dst=standard{access=udp,mux=ts,dst=x.x.x.x:1234}}&lt;/pre&gt;


&lt;p&gt;Bien entendu, on peut également «&amp;nbsp;s'amuser&amp;nbsp;» à modifier le flux avant de l'envoyer (ici, je diminue la taille avec &lt;code&gt;scale=0.75&lt;/code&gt; et je réencode le tout en MPEG-2 Video à 4096 kbit/s et en ajoutant une petite touche de désentrelacement)&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;:sout=#transcode{vcodec=mp2v,vb=4096,scale=0.75,deinterlace}:standard{access=udp.mux=ts,dst=x.x.x.x:1234}&lt;/pre&gt;


&lt;p&gt;Note&amp;nbsp;: mes tests semblent indiquer que le flux est moins perturbé si on ne fait pas d'affichage local sur le serveur.&lt;/p&gt;</description>
        
              </item>
          <item>
        <title>Mise à jour d'un greffon de template sur Dotclear2</title>
        <link>https://mudry.org/blog/post/2007/08/21/Mise-a-jour-dun-greffon-de-template-sur-Dotclear2</link>
        <guid isPermaLink="false">urn:md5:9eafd0d25da32f6085e67aa82500faa2</guid>
        <pubDate>Tue, 21 Aug 2007 20:19:00 +0200</pubDate>
        <dc:creator>ȷulmud</dc:creator>
                  <category>Pense-bête</category>
                          <category>Dotclear2</category>
                  <category>Pense-bête</category>
                <description>          &lt;p&gt;Lors de la mise à jour d'un greffon proposant des fonctions de template, voici l'ordre dans lequel effectuer la mise à jour&amp;nbsp;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;mettre à jour le greffon sur le serveur&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;mettre à jour les thèmes sur le serveur.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Si on inverse ces deux étapes, on risque fort de se retrouver avec un thème défectueux présenté aux visiteurs. Cela est dû au fait que le cache du moteur de template n'est mis à jour que lorsque les fichiers du thème ont été modifiés. Si on modifie d'abord le thème, les nouvelles (ou celles dont le nom a changé) fonctions de template n'existeront pas encore lors de l'affichage du thème et ne seront donc pas interprétées dans le cache.&lt;/p&gt;</description>
        
              </item>
          <item>
        <title>Incompatibilités entre MultiViews et RewriteRule</title>
        <link>https://mudry.org/blog/post/2007/01/19/Incompatibilites-entre-MultiViews-et-RewriteRule</link>
        <guid isPermaLink="false">urn:md5:f198bedb65435929ab0a6b10791c9bdf</guid>
        <pubDate>Fri, 19 Jan 2007 19:27:00 +0100</pubDate>
        <dc:creator>ȷulmud</dc:creator>
                  <category>Pense-bête</category>
                          <category>Dotclear2</category>
                  <category>Pense-bête</category>
                <description>          &lt;p&gt;Situation&amp;nbsp;: Apache 1.3, un fichier &lt;code&gt;blog.php&lt;/code&gt; à la racine, qui prend en charge les URLs de type &lt;code&gt;http://www.example.com/blog/post/...&lt;/code&gt; par le biais d'une option &lt;code&gt;MultiViews&lt;/code&gt; activée dans le fichier &lt;code&gt;.htaccess&lt;/code&gt;.&lt;/p&gt;


&lt;p&gt;Problème&amp;nbsp;: tout jeu de &lt;code&gt;RewriteRule&lt;/code&gt; traitant des URLs commençant par &lt;code&gt;blog/&lt;/code&gt; ne fonctionne pas... C'est en effet l'option &lt;code&gt;MultiViews&lt;/code&gt; qui prend le dessus, et les arguments suivant le &quot;/&quot; sont «&amp;nbsp;transmis&amp;nbsp;» au script &lt;code&gt;blog.php&lt;/code&gt; avant même d'être interprétés par les &lt;code&gt;RewriteRule&lt;/code&gt;.&lt;/p&gt;


&lt;p&gt;Solution&amp;nbsp;: Je n'ai pas réussi à trouver une solution propre permettant de faire cohabiter ces deux types de traitement. Par conséquent, j'ai dû rédiger un plugin pour DotClear2 (très fortement inspiré du plugin &lt;code&gt;dc1redirect&lt;/code&gt; de la dcTeam) qui traite les règles de «&amp;nbsp;rewriting&amp;nbsp;» que j'aurais aimé mettre dans le fichier &lt;code&gt;.htaccess&lt;/code&gt;...&lt;/p&gt;</description>
        
              </item>
          <item>
        <title>Récupérer un flux RealAudio</title>
        <link>https://mudry.org/blog/post/2007/01/07/343-recuperer-un-flux-realaudio</link>
        <guid isPermaLink="false">urn:md5:921a4d7b16dd987a72d92f0351dd3f21</guid>
        <pubDate>Sun, 07 Jan 2007 11:00:00 +0000</pubDate>
        <dc:creator>ȷulmud</dc:creator>
                  <category>Pense-bête</category>
                          <category>Pense-bête</category>
                  <category>Radio</category>
                  <category>Web</category>
                <description>&lt;p&gt;Trouvé là-bas&amp;nbsp;: &lt;a href=&quot;http://grimthing.com/archives/2004/05/20/recording-streaming-audio-with-mplayer/&quot; hreflang=&quot;en&quot;&gt;grimthing.com/archives/2004/05/20/recording-streaming-audio-with-mplayer/&lt;/a&gt;. Et recopié ici juste pour le retrouver facilement le jour où j'en aurai besoin...&lt;/p&gt;          &lt;h4&gt;The stream I want to record is already in the format I want&lt;/h4&gt;


&lt;p&gt;This simplifies things a bit. If the stream you want to record is already in the format you want to use, you can use the &lt;code&gt;-dumpstream&lt;/code&gt; flag instead. Your streamrecorder script will look like this instead:&lt;/p&gt;

&lt;pre&gt; [bash]
#!/bin/sh
mplayer -playlist /home/username/scripts/playlist.txt -dumpstream -dumpfile /home/username/FlockofSeagulls_`date +%b%d` -vc dummy -vo null ;
&lt;/pre&gt;


&lt;p&gt;This will result in a file called &lt;code&gt;FlockofSeagulls_May20&lt;/code&gt;, without a file extension, in username’s home directory. This eliminates the intermediate temporary file and the encoding step. You can add the extension after &lt;code&gt;`date +%b%d`&lt;/code&gt; just like in the previous script if you want. It doesn’t matter as MPlayer doesn’t require the extensions in order to play the file but your desktop environment may like the extensions in order to associate the file with whichever media player you’d prefer when you click it in your file browser.&lt;/p&gt;


&lt;h4&gt;What’s the deal with the playlist flag?&lt;/h4&gt;


&lt;p&gt;If you’ve been to this site before, you may notice the &lt;code&gt;-playlist&lt;/code&gt; switch that was talked about in the MPlayer playlist, and Cron-MP3 Alarm Clock articles. In order to understand why you need the playlist switch when playing streaming audio, you need to understand a bit more about how streaming audio works.&lt;/p&gt;


&lt;p&gt;Each streaming format has a kind of playlist file that your music player uses to redirect it to the actual music stream. For Windows Media it’s &lt;code&gt;.asf&lt;/code&gt;, for Real Audio it’s &lt;code&gt;.ram&lt;/code&gt;, MP3 uses &lt;code&gt;.m3u&lt;/code&gt; and &lt;code&gt;.pls&lt;/code&gt;. Even though each format has it’s own unique file extension, each file is basically the same. They’re just text files with urls pointing to the actual streams. Take your editor and open the &lt;code&gt;playlist.txt&lt;/code&gt; file and see for yourself. If you see one of those file extensions, you’ll need to download the playlist and use the &lt;code&gt;-playlist&lt;/code&gt; switch to play/record those streams.&lt;/p&gt;


&lt;p&gt;Ogg, however, is an exception. Most Ogg streams, such as those from Icecast servers, don’t require the &lt;code&gt;-playlist&lt;/code&gt; switch because the server handles all of the redirection without the need for a playlist. Those Ogg streams that do require the switch are usually just a static directory full of oggs. In such an event, the static directory versions usually implement a playlist file and use the same file extensions as MP3.&lt;/p&gt;


&lt;p&gt;In theory, the &lt;code&gt;-playlist&lt;/code&gt; switch doesn’t require the playlist file to reside on your hard drive. You should be able to just type &lt;code&gt;mplayer -playlist http://full/url/to/playlist.pls&lt;/code&gt; and it should work. However, I’ve had mixed results with that method. Downloading the playlist to hard drive has worked for me every time. Feel free to experiment using the URL instead of the downloaded file, as your results may differ from mine.&lt;/p&gt;


&lt;p&gt;Text by Philip McClure&lt;/p&gt;</description>
        
              </item>
          <item>
        <title>Traduction d'un plugin DotClear2</title>
        <link>https://mudry.org/blog/post/2006/12/31/342-traduction-d-un-plugin-dotclear2</link>
        <guid isPermaLink="false">urn:md5:b4015e02f0ecc567ff7dd49b278cde82</guid>
        <pubDate>Sun, 31 Dec 2006 09:09:00 +0000</pubDate>
        <dc:creator>ȷulmud</dc:creator>
                  <category>Pense-bête</category>
                          <category>Dotclear2</category>
                  <category>Pense-bête</category>
                  <category>Vie du blog</category>
                <description>&lt;p&gt;La méthode choisie dans DotClear2 pour la traduction des plugins est basée sur gettext, et est fondamentalement différente de celle qui était utilisée dans DotClear 1. Puisque j'ai découvert ce monde en tentant de traduire mon premier plugin, voici quelques notes sur la manière de procéder pour générer les fichiers de traduction.&lt;/p&gt;          &lt;p&gt;Pour la première traduction d'un nouveau plugin&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;  xgettext -L PHP --keyword=__ *.php
  mv messages.po messages.pot
  mkdir -p locales/fr
  msginit --locale=fr -o locales/fr/main.po&lt;/pre&gt;


&lt;p&gt;Lors de mises à jour du plugin, pour fusionner les nouvelles chaînes dans le plugin avec celles déjà traduites&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;  xgettext -L PHP --keyword=__ *.php
  mv -f messages.po messages.pot
  msgmerge -U locales/fr/main.po messages.pot&lt;/pre&gt;


&lt;p&gt;&lt;strong&gt;Mise à jour, 1er janvier 2007, 09h42 :&lt;/strong&gt; Il semble également exister &lt;a href=&quot;http://www.tigroux.net/index/2006/10/19/129-langomatic-0-1-pour-dotclear-2&quot; hreflang=&quot;fr&quot;&gt;le plugin langOmatic de Tigroux&lt;/a&gt; pour se simplifier la tâche de traduction... Je ne l'ai pas testé toutefois.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Mise à jour, 3 février 2008, 10h06 :&lt;/strong&gt; Il y avait une coquille qui s'était glissée dans l'appel  à &lt;code&gt;msginit&lt;/code&gt;. L'article est maintenant corrigé. Merci à Osku de me l'avoir signalé.&lt;/p&gt;</description>
        
              </item>
          <item>
        <title>Migration vers DC2, les étapes</title>
        <link>https://mudry.org/blog/post/2006/12/30/341-migration-vers-dc2-les-etapes</link>
        <guid isPermaLink="false">urn:md5:3cf710c794e7ff1bbe8760b41d02a9cb</guid>
        <pubDate>Sat, 30 Dec 2006 13:50:00 +0000</pubDate>
        <dc:creator>ȷulmud</dc:creator>
                  <category>Pense-bête</category>
                          <category>Dotclear2</category>
                  <category>Pense-bête</category>
                  <category>Vie du blog</category>
                <description>&lt;p&gt;Note&amp;nbsp;: ce billet détaillant les étapes qui m'attendent pour migrer mes blogs de DotClear 1.2.x vers DotClear2 est hautement spécifique à ma situation. N'espérez pas pouvoir vous en inspirer pour votre propre migration... Si malgré tout vous essayez de vous inspirer de ces quelques notes, ne comptez pas sur moi pour vous dépatouiller lorsque tout aura foiré (car cela va foirer).&lt;/p&gt;          &lt;p&gt;Dans DotClear 1.2.x (pour la migration du multicat en tags)&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Créer et remplir la table DC_PREFIX.post_cat_tmp comme suit&amp;nbsp;:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;CREATE TABLE `DC_PREFIX.post_cat_tmp` (`post_id` INT(11) not null,  `cat_id` INT(11) not null, `cat_libelle` VARCHAR(255) not null);
ALTER TABLE `DC_PREFIX.post_cat_tmp` ADD PRIMARY KEY (`post_id`, `cat_id`);
ALTER TABLE `DC_PREFIX.post_cat_tmp` ADD INDEX (`cat_id`, `post_id`);
INSERT INTO `DC_PREFIX.post_cat_tmp` (SELECT DC_PREFIX.post_cat.post_id, DC_PREFIX.post_cat.cat_id, DC_PREFIX.categorie.cat_libelle FROM DC_PREFIX.post_cat INNER JOIN DC_PREFIX.categorie ON DC_PREFIX.post_cat.cat_id = DC_PREFIX.categorie.cat_id);&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;Adapter le plugin flatExport pour qu'il tienne compte de la table post_cat_tmp (fichier index.php)&amp;nbsp;:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;    $dbx-&amp;gt;exportTable(DB_PREFIX.'post_cat_tmp');&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;Exporter le blog avec le plugin flatExport.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Dans DotClear2&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Installer les plugins officiels dayMode, commentsWikibar et packager&lt;/li&gt;
&lt;li&gt;Installer les trois &quot;thèmes inutiles&quot;&lt;/li&gt;
&lt;li&gt;Installer mes plugins Photoblog2 et jmuTemplate&lt;/li&gt;
&lt;li&gt;Activer l'option MultiView et créer les fichiers PHP d'accès aux blogs&lt;/li&gt;
&lt;li&gt;Créer les blogs et les paramétrer&amp;nbsp;:
&lt;ul&gt;
&lt;li&gt;Lecture de l'URL&amp;nbsp;: PATH_INFO&lt;/li&gt;
&lt;li&gt;Fuseau horaire&lt;/li&gt;
&lt;li&gt;Format de date&amp;nbsp;: %A %e %B %Y&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Adapter le fichier class.dc.import.php du plugin importExport pour importer post_cat_tmp&amp;nbsp;:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;(fonction prepareDC12line) :
   case 'post_cat_tmp':
     $line-&amp;gt;substitute('cat_libelle', 'meta_id');
     $line-&amp;gt;drop('cat_id');
     $line-&amp;gt;__name = 'meta';
     $line-&amp;gt;blog_id = 'default';
     $line-&amp;gt;meta_type = 'tag';
     break;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;Importer le contenu des blogs&lt;/li&gt;
&lt;li&gt;Déplacer le contenu des dossiers images dans public/blog_id pour chaque blog&lt;/li&gt;
&lt;li&gt;Modifier tous les billets pour tenir compte du nouveau chemin pour les images&amp;nbsp;:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt; update dc2_post
 set post_content = INSERT(post_content, locate('blog.dir/public/', post_content), length('blog.dir/public/'), 'dotclear2/public/blog/')
 set post_content_xhtml = INSERT(post_content_xhtml, locate('blog.dir/public/', post_content), length('blog.dir/public/'), 'dotclear2/public/blog/')
 where post_content_xhtml like '%/images/%'
   and blog_id = 'blog';&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;Supprimer les anciennes vignettes des dossiers images&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Finalement, après avoir vérifié que tout fonctionne&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Installer un jeu de rewrite pour rediriger les anciennes URLs vers les nouvelles.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Et ne pas oublier de compulser compulsivement &lt;a href=&quot;http://www.kozlika.org/dissitou/&quot; hreflang=&quot;fr&quot;&gt;les dcTips() de Kozlika&lt;/a&gt; pour vérifier que l'on n'a rien oublié lors de la migration...&lt;/p&gt;


&lt;p&gt;(PS: Un grand merci à &lt;a href=&quot;http://callmepep.org/&quot; hreflang=&quot;fr&quot;&gt;Sieur Pep&lt;/a&gt; pour son aide concernant l'export du multicat. Et un autre très grand merci à toute la DC.Team() pour ce bel outil.)&lt;/p&gt;</description>
        
              </item>
      </channel>
</rss>
