<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://blogs.aldabase.com/fred/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>Carnet Web de Poy</title>
  <link>http://blogs.aldabase.com/fred/</link>
  <atom:link href="http://blogs.aldabase.com/fred/feed/rss2" rel="self" type="application/rss+xml"/>
  <description></description>
  <language>fr</language>
  <pubDate>Thu, 07 Aug 2008 10:17:18 +0200</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Producing  Open Source Software</title>
    <link>http://blogs.aldabase.com/fred/post/2006/11/03/Producing-Open-Source-Software</link>
    <guid isPermaLink="false">urn:md5:045231dc3f1db61bc9695fb709d9615e</guid>
    <pubDate>Fri, 03 Nov 2006 09:33:00 +0000</pubDate>
    <dc:creator>Frederic Poeydomenge</dc:creator>
        <category>Général</category>
            
    <description>    &lt;p&gt;Producing Open Source Software est un livre des éditions O'Reilly, qui est aussi disponible en téléchargement (licence Creative Commons Attribution-ShareAlike). Ce livre parle de l'aspect humain dans le développement de logiciels à code source ouvert. Il décrit la manière de procéder de projets réussis, les attentes des utilisateurs et des développeurs, ainsi que tous les écueils à éviter lorsque l'on distribue un logiciel libre.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://producingoss.com/&quot; hreflang=&quot;en&quot;&gt;Producing  Open Source Software&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Time breakdown of modern web design</title>
    <link>http://blogs.aldabase.com/fred/post/2006/07/03/Time-breakdown-of-modern-web-design</link>
    <guid isPermaLink="false">urn:md5:001416feb5957271f853742a2e89c738</guid>
    <pubDate>Mon, 03 Jul 2006 13:12:00 +0000</pubDate>
    <dc:creator>Frederic Poeydomenge</dc:creator>
        <category>Général</category>
            
    <description>    &lt;p&gt;Et voici, d'après des faits authentiquements réels (on sent vraiment le vécu !), la répartition du temps de travail dans un projet de site Web moderne&amp;nbsp;:&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://blogs.aldabase.com/fred/public/fred/time_breakdown_of_modern_web_design.png&quot; alt=&quot;Time breakdown of modern web design&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Trouvé sur &lt;a href=&quot;http://poisonedminds.com/d/20060621.html&quot; hreflang=&quot;en&quot;&gt;PoisonedMinds&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Mise en cache de paquets Debian avec apt-proxy</title>
    <link>http://blogs.aldabase.com/fred/post/2006/06/27/Mise-en-cache-de-paquets-Debian-avec-apt-proxy</link>
    <guid isPermaLink="false">urn:md5:448dd2479e6c014781255ecac8bf033b</guid>
    <pubDate>Tue, 27 Jun 2006 12:35:00 +0000</pubDate>
    <dc:creator>Frederic Poeydomenge</dc:creator>
        <category>Debian</category>
            
    <description>    &lt;p&gt;Samedi dernier, dans le cadre de &lt;a href=&quot;http://www.abul.org/wws/arc/eusk/2006-06/msg00122.html&quot;&gt;l'install party à la bibliothèque municipale d'Anglet (64)&lt;/a&gt;, nous avons été amenés à mettre en place un mandataire (proxy) &lt;strong&gt;apt-proxy&lt;/strong&gt;.&lt;/p&gt;


&lt;p&gt;Lorsque l'on a, sur un réseau, plusieurs machines avec la même version de Debian (par exemple Sarge), il est profitable de pouvoir centraliser la récupération des paquets, afin de ne les télécharger en local qu'une seule fois, et par là même, d'économiser de la bande passante sur les serveurs Debian.&lt;/p&gt;


&lt;p&gt;Pour ce faire, le mandataire &lt;strong&gt;apt-proxy&lt;/strong&gt; permet de mettre en cache les paquets Debian, et de construire un miroir partiel contenant tous les paquets utilisés par les machines du réseau. Seule la première machine qui installe un package donné provoque un téléchargement sur Internet, le mandataire fournissant lui même ensuite ce dont il dipose déjà aux autres machines qui le demandent. Cette méthode a l'avantage de réduire les accès à Internet depuis votre réseau interne, et surtout améliore grandement la rapidité de téléchargement coté client.&lt;/p&gt;


&lt;h4&gt;Coté serveur&lt;/h4&gt;


&lt;p&gt;Coté serveur, il nous suffit d'installer le paquet apt-proxy&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;# apt-get install apt-proxy&lt;/pre&gt;


&lt;p&gt;puis d'éditer le fichier /etc/apt-proxy/apt-proxy-v2.conf afin d'y configurer le répertoire dans lequels seront stockés les paquets (par défaut&amp;nbsp;: /var/cache/apt-proxy/), le port (par défaut&amp;nbsp;: 9999), ainsi que les sources des dépots Debian, par exemple&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;[debian]
backends = http://ftp.fr.debian.org/debian
[security]
backends = http://security.debian.org/debian-security
[backports]
backends = http://backports.org/debian
[dotdeb]
backends = http://packages.dotdeb.org&lt;/pre&gt;


&lt;p&gt;Il ne faut pas oublier de redémarrer apt-proxy pour qu'il prenne bien en compte les changements&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;# /etc/init.d/apt-proxy restart&lt;/pre&gt;


&lt;h4&gt;Coté client&lt;/h4&gt;


&lt;p&gt;Coté client, il nous faut juste modifier le fichier /etc/apt/sources.list, afin de faire pointer les sources sur le serveur mandataire, en remplaçant le nom d'hôte par le nom du mandataire, auquel on rajoute les noms de sections ci-dessus en tant que répertoires, de la façon suivante&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;# Stable
deb http://SERVEUR:9999/debian/ stable main contrib
deb http://SERVEUR:9999/debian/ stable-proposed-updates main contrib
# Security
deb http://SERVEUR:9999/security/ stable/updates main contrib
# Dotdeb.org (LAMP Platform)
deb http://SERVEUR:9999/dotdeb/ stable all
# Backports Sarge
deb http://SERVEUR:9999/backports/ sarge-backports main&lt;/pre&gt;


&lt;p&gt;Il ne faut pas oublier d'effectuer aussi cette manipulation sur la machine qui sert de mandataire (le serveur lui même), afin qu'APT n'outrepasse pas le système en place&amp;nbsp;!&lt;/p&gt;


&lt;p&gt;Pour peaufiner l'installation, on peut éventuellement rajouter une entrée dans la crontab, pour effacer tous les soirs les paquets récupérés en local à l'aide de la commande &quot;apt-get clean&quot;&lt;/p&gt;


&lt;p&gt;Suite à l'install party, j'ai découvert qu'Aurélien en parlait dans son &lt;a href=&quot;http://aurelienlp.free.fr/blog/index.php?2006/06/21/25-mandataire_apt&quot;&gt;Mémento pour l'installation d'un mandataire apt&lt;/a&gt;, pour une configuration réseau à peu près identique.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>IEs 4 Linux - Internet Explorer (6.0, 5.5, 5.0) sous Linux</title>
    <link>http://blogs.aldabase.com/fred/post/2006/06/15/IEs-4-Linux-Internet-Explorer-6.0-5.5-5.0-sous-Linux</link>
    <guid isPermaLink="false">urn:md5:1a3a24512915e10b3c16f275139411b1</guid>
    <pubDate>Thu, 15 Jun 2006 13:23:00 +0000</pubDate>
    <dc:creator>Frederic Poeydomenge</dc:creator>
        <category>Général</category>
            
    <description>    &lt;p&gt;Lorsque l'on fait du développement web, il est parfois utile (voire nécessaire) de tester ses feuilles de style &lt;acronym&gt;CSS&lt;/acronym&gt; avec tous les principaux navigateurs du marché. Or, lorsque l'on travaille sous Linux, il n'existe pas version native de &lt;acronym&gt;IE&lt;/acronym&gt;, il va donc noux falloir ruser un peu pour l'installer.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.tatanka.com.br/ies4linux/index-en.html&quot; hreflang=&quot;en&quot;&gt;IEs4linux&lt;/a&gt; est le moyen le plus simple de faire tourner &lt;acronym&gt;IE&lt;/acronym&gt; sur Linux (ou FreeBSD, ou Solaris), le tout via un processus d'installation extrêmement simplifié, où il suffit de répondre à 2-3 questions pour installer sur sa machine &lt;acronym&gt;IE&lt;/acronym&gt; 6.0, 5.5, 5.0, et le plugin Flash Player 8.&lt;/p&gt;


&lt;p&gt;La procédure à suivre est très simple. Tout d'abord, il nous faut installer &lt;a href=&quot;http://winehq.com/&quot; hreflang=&quot;en&quot;&gt;Wine&lt;/a&gt; et cabextract, par exemple sur Debian&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;# apt-get -t sarge-backports install wine wine-utils
# apt-get install cabextract&lt;/pre&gt;


&lt;p&gt;Sur Debian Sarge, il faut rajouter un lien symbolique pour que IEs4linux retrouve le programme wineserver&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;# ln -s /usr/lib/wine/wineserver /usr/bin/wineserver&lt;/pre&gt;


&lt;p&gt;Ensuite, il nous suffit de télécharger IEs4linux, décompresser l'archive, et lancer la commande 'ies4linux' sous un nom d'utilisateur lambda (surtout pas root).&lt;/p&gt;


&lt;p&gt;Le programme se charge alors de télécharger les fichiers Cabinet (.cab) nécessaires, et les installe dans le dossier choisi au lancement de la commande (par défaut&amp;nbsp;: ~/.ies4linux). Et voila, c'est fini&amp;nbsp;! On se retrouve alors avec un dossier pesant dans les 130 Mo, et contenant 3 archaïques versions d'&lt;acronym&gt;IE&lt;/acronym&gt;, ne respectant aucun des standards du &lt;acronym&gt;W3C&lt;/acronym&gt;, complètement vétustes, mais néanmoins incontournables pour tous les développeurs web.&lt;/p&gt;


&lt;p&gt;Pour les lancer, il suffit maintenant d'appeler une des commandes suivantes&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;$ ~/bin/ie6
$ ~/bin/ie55
$ ~/bin/ie5&lt;/pre&gt;


&lt;p&gt;Pour terminer, il est possible de rajouter quelques polices (par exemple Arial). Pour cela il suffit de &lt;a href=&quot;http://prdownloads.sourceforge.net/corefonts&quot;&gt;télécharger les polices voulues&lt;/a&gt; et de lancer la commande suivante&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;$ WINEPREFIX=&quot;$HOME/.ies4linux/ie6&quot; wine arial32.exe&lt;/pre&gt;


&lt;p&gt;Ils en parlent aussi&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.prendreuncafe.com/blog/2006/06/05/463-flash-player-8-sous-linux-avec-ie4linux&quot; hreflang=&quot;fr&quot;&gt;Flash Player 8 sous Linux avec ie4linux&lt;/a&gt; par Nicolas Perriault (NiKo)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.biologeek.com/journal/index.php/internet-explorer-605550-opera-85-et-firefox-15-avec-ubuntu&quot; hreflang=&quot;fr&quot;&gt;Internet Explorer (6.0,5.5,5.0), Opera 8.5 et Firefox 1.5 avec Ubuntu&lt;/a&gt; par David Larlet&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://jb.berland.free.fr/dotclear/index.php?2006/05/03/190-installation-d-internet-explorer-via-l-utilisation-de-wine-et-ie4linux&quot; hreflang=&quot;fr&quot;&gt;Internet Explorer sous Linux...&lt;/a&gt; par Yannig&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Quelques clichés concernant internet</title>
    <link>http://blogs.aldabase.com/fred/post/2006/06/13/Quelques-cliches-concernant-internet</link>
    <guid isPermaLink="false">urn:md5:4f13f85fd0d55bfc67927fe1d3195d09</guid>
    <pubDate>Tue, 13 Jun 2006 19:33:00 +0000</pubDate>
    <dc:creator>Frederic Poeydomenge</dc:creator>
        <category>Usabilité</category>
            
    <description>    &lt;p&gt;À partir d'études comportementales réalisées ces dernières années, et d'articles publiés sur le web, Bernard-Paul Eminet nous dresse une liste de &lt;a href=&quot;http://www.eminet.info/blog/index.php?2006/03/17/2-vivamus-rutrum-metus-ut-dolor&quot; hreflang=&quot;fr&quot;&gt;quelques clichés concernant internet&lt;/a&gt;, et dissèque la façon d'agir/réagir des internautes actuels&amp;nbsp;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cliché 1&amp;nbsp;: Internet c'est facile et fun&lt;/li&gt;
&lt;li&gt;Cliché 2&amp;nbsp;: L'internaute cherche l'information maximale au plus vite&lt;/li&gt;
&lt;li&gt;Cliché 3&amp;nbsp;: l'internaute est attiré par le graphisme&lt;/li&gt;
&lt;li&gt;Cliché 4&amp;nbsp;: les internautes détestent scroller&lt;/li&gt;
&lt;li&gt;Cliché 5&amp;nbsp;: le temps est l'ennemi du succès&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Comme le dit Jakob Nielsen dans sa loi sur l'expérience de l'utilisateur du web (&lt;a href=&quot;http://www.useit.com/alertbox/991003.html&quot; hreflang=&quot;en&quot;&gt;Ten Good Deeds in Web Design&lt;/a&gt;)&amp;nbsp;: &quot; les utilisateurs passent la plus grande partie de leur temps sur d'autres sites que le vôtre, et c'est là qu'ils construisent leur expérience, et apprennent à se faire une idée du mode de fonctionnement du web &quot;&lt;/p&gt;


&lt;p&gt;Je terminerais en disant que un site, c'est d'abord du contenu, peu importe si ça ne s'affiche pas à l'identique au pixel près chez deux personnes différentes, le tout est d'avoir un contenu intéressant, et de bien le mettre en valeur, par le biais d'un désign propre et qui fonctionne dans n'importe quel navigateur Web (c'est à dire&amp;nbsp;: conforme aux standards du Web)&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>HTML Slidy du W3C</title>
    <link>http://blogs.aldabase.com/fred/post/2006/06/09/HTML-Slidy-du-W3C</link>
    <guid isPermaLink="false">urn:md5:f6e03e2f6ccf354fd07047aad3c84046</guid>
    <pubDate>Fri, 09 Jun 2006 22:24:00 +0000</pubDate>
    <dc:creator>Frederic Poeydomenge</dc:creator>
        <category>Standards</category>
            
    <description>    &lt;p&gt;Se basant en partie sur l'outil de slideshow &lt;a href=&quot;http://www.meyerweb.com/eric/tools/s5/&quot; hreflang=&quot;en&quot;&gt;S5&lt;/a&gt; de Eric Meyer,
qui utilise exclusivement des standards du web (&lt;acronym&gt;XHTML&lt;/acronym&gt;, &lt;acronym&gt;CSS&lt;/acronym&gt; et JavaScript),
le &lt;acronym&gt;W3C&lt;/acronym&gt; a mis au point, il y a quelques temps déjà, un outil équivalent&amp;nbsp;: &lt;a href=&quot;http://www.w3.org/Talks/Tools/Slidy/&quot; hreflang=&quot;en&quot;&gt;HTML Slidy&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Maintenant, avec tous ces outils disponibles pour générer des présentations accessibles et lisibles par tous, il n'y a vraiment plus aucune excuse à encore utiliser Powerpoint...&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Gecko 1.9 passe le test Acid2</title>
    <link>http://blogs.aldabase.com/fred/post/2006/06/07/Gecko-1.9-passe-le-test-Acid2</link>
    <guid isPermaLink="false">urn:md5:0159fcd5cc7b90593e947f65259461fc</guid>
    <pubDate>Wed, 07 Jun 2006 08:47:00 +0000</pubDate>
    <dc:creator>Frederic Poeydomenge</dc:creator>
        <category>Général</category>
            
    <description>    &lt;p&gt;La branche expérimentale Gecko 1.9 Reflow refactoring, dont les améliorations seront disponibles dans le futur Firefox 3, passe enfin le test &lt;a href=&quot;http://www.webstandards.org/action/acid2&quot; hreflang=&quot;en&quot;&gt;Acid2&lt;/a&gt;. Pour rappel, le test Acid2 vise à tester la qualité de l'implémentation de certaines fonctionnalités de CSS 2, et autres standards du Web, dans un navigateur Web.&lt;/p&gt;


&lt;p&gt;Signalé par &lt;a href=&quot;http://ljouanneau.com/blog/2006/06/06/570-gecko-passe-le-test-acid2&quot; hreflang=&quot;fr&quot;&gt;Laurent Jouanneau&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Scanner sa distribution Linux à la recherche de Root Kits</title>
    <link>http://blogs.aldabase.com/fred/post/2006/05/15/Scanner-sa-distribution-Linux-a-la-recherche-de-Root-Kits</link>
    <guid isPermaLink="false">urn:md5:97a6ba149b424d055d459703c377f2fa</guid>
    <pubDate>Mon, 15 May 2006 21:07:00 +0000</pubDate>
    <dc:creator>Frederic Poeydomenge</dc:creator>
        <category>Général</category>
            
    <description>    &lt;p&gt;L'article &lt;a href=&quot;http://www.howtoforge.com/scan_linux_for_rootkits&quot; hreflang=&quot;en&quot;&gt;How to scan your Linux-Distro for Root Kits&lt;/a&gt; sur HowtoForge nous présente une méthode sécurisée pour scanner sa distribution Linux à la recherche de Root Kits, à l'aide de l'utilitaire &lt;a href=&quot;http://www.chkrootkit.org/&quot; hreflang=&quot;en&quot;&gt;chkrootkit&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;En résumé, il est carrément déconseillé d'installer chkrootkit sur son système, et de le lancer bêtement de temps en temps. En effet, si un attaquant prends le controle de la machine, il lui est très facile de modifier l'installation afin qu'elle ne détecte pas sa présence. Il faut donc compiler chkrootkit, et le copier sur un support extractible, ou en lecture seule.&lt;/p&gt;


&lt;p&gt;Télécharger chkrootkit&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;# wget http://ftp.bit.nl/mirror/chkrootkit/chkrootkit.tar.gz
# wget http://ftp.bit.nl/mirror/chkrootkit/chkrootkit.md5
# md5sum -c chkrootkit.md5&lt;/pre&gt;


&lt;p&gt;Compiler chkrootkit&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;# tar -xzf chkrootkit.tar.gz
# cd chkrootkit-0.46a/
# make sense&lt;/pre&gt;


&lt;p&gt;Lancer chkrootkit&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;# ./chkrootkit&lt;/pre&gt;


&lt;p&gt;Et ne pas oublier de copier le dossier ainsi créé sur un support inaltérable, depuis lequel on pourra lancer régulièrement le scan du système.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Swapper 2 variables, sans utiliser de variable intermédiaire</title>
    <link>http://blogs.aldabase.com/fred/post/2006/05/09/Swapper-2-variables-sans-utiliser-de-variable-intermediaire</link>
    <guid isPermaLink="false">urn:md5:3cd334a00216b0d0f1c5399fe3de9d0f</guid>
    <pubDate>Tue, 09 May 2006 21:39:00 +0000</pubDate>
    <dc:creator>Frederic Poeydomenge</dc:creator>
        <category>Général</category>
            
    <description>    &lt;p&gt;Je viens de (re)découvrir sur &lt;a href=&quot;http://graphics.stanford.edu/~seander/bithacks.html&quot;&gt;Bit Twiddling Hacks&lt;/a&gt; une vielle méthode, toute bête, permettant d'échanger le contenu de 2 variables a et b, sans utiliser de variable intermédiaire, tout simplement en utilisant l'opérateur booléen &quot;ou exclusif&quot; (&lt;acronym&gt;XOR&lt;/acronym&gt;)&lt;/p&gt;


&lt;p&gt;Le code en C&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;unsigned int a = 0xCDEF;
unsigned int b = 0x1234;
a ^= b;
b ^= a;
a ^= b;
printf(&quot;a=%x / b=%x&quot;, a, b);&lt;/pre&gt;


&lt;p&gt;Le même, en &lt;acronym&gt;PHP&lt;/acronym&gt;&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;$a = 0xCDEF;
$b = 0x1234;
$a ^= $b;
$b ^= $a;
$a ^= $b;
echo 'a=' , dechex($a) , ' / b=' , dechex($b);&lt;/pre&gt;


&lt;p&gt;L'algorithme est aussi décrit sur Wikipédia (&lt;a href=&quot;http://en.wikipedia.org/wiki/Xor_swap_algorithm&quot; hreflang=&quot;en&quot;&gt;XOR swap algorithm&lt;/a&gt;).&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Moteur de stockage transactionnel Falcon pour MySQL</title>
    <link>http://blogs.aldabase.com/fred/post/2006/04/21/Moteur-de-stockage-transactionnel-Falcon-pour-MySQL</link>
    <guid isPermaLink="false">urn:md5:f07bf2b244767fd5afb5be2252f72245</guid>
    <pubDate>Fri, 21 Apr 2006 13:41:00 +0000</pubDate>
    <dc:creator>Frederic Poeydomenge</dc:creator>
        <category>MySQL</category>
            
    <description>    &lt;p&gt;Pour faire suite à l'annonce, en début de semaine, d'un nouveau moteur de stockage transactionnel pour MySQL, SolidDB de la société Solid Information Technology.&lt;/p&gt;


&lt;p&gt;Jim Starkey, créateur de la base de données InterBase, et embauché en début d'année chez MySQL, a annoncé qu'il parlerait &lt;a href=&quot;http://www.crn.com/sections/software/software.jhtml?articleId=186500172&quot; hreflang=&quot;en&quot;&gt;du nouveau moteur de stockage transactionnel &quot;maison&quot; de chez MySQL&lt;/a&gt;, de nom de code &quot;Falcon&quot;, lors de la prochaine User Conference, qui a lieu la semaine prochaine.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.nexen.net/actualites/mysql/mysql_annoncera_falcon,_son_moteur_transactionnel_maison.php&quot; hreflang=&quot;fr&quot;&gt;L'actu sur Nexen.net&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Diagramme de la base information_schema</title>
    <link>http://blogs.aldabase.com/fred/post/2006/04/21/Diagramme-de-la-base-information_schema</link>
    <guid isPermaLink="false">urn:md5:afe78d92178a73655452f1629cb5039f</guid>
    <pubDate>Fri, 21 Apr 2006 11:20:00 +0000</pubDate>
    <dc:creator>Frederic Poeydomenge</dc:creator>
        <category>MySQL</category>
            
    <description>    &lt;p&gt;La base &lt;a href=&quot;http://dev.mysql.com/doc/refman/5.1/en/information-schema.html&quot; hreflang=&quot;en&quot;&gt;information_schema&lt;/a&gt; contient toutes les métadonnées sur le serveur MySQL. Les métadonnées sont les informations sur les données, telles que la liste des bases de données, des tables, le type des données, des colonnes, les procédures stockées, ou bien les droits d'accès. On appelle aussi ces données le &quot;dictionnaire de données&quot; ou le &quot;catalogue système&quot;, et toutes ces informations sont accessibles à l'aide de requêtes SQL classiques.&lt;/p&gt;


&lt;p&gt;Roland Bouman maintient depuis juin 2005 un &lt;a href=&quot;http://www.xcdsql.org/MySQL/information_schema/5.1/INFORMATION_SCHEMA%20With%20Rolenames.gif&quot; hreflang=&quot;en&quot;&gt;diagramme de la base information_schema&lt;/a&gt;, disponible sous forme d'image GIF.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://rpbouman.blogspot.com/2006/03/sneak-preview-diagram-for-mysql-517.html&quot; hreflang=&quot;en&quot;&gt;L'info sur le site de Roland Bouman&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.nexen.net/actualites/trucs/schema_de_base_de_donnees_pour_information_schema.php&quot; hreflang=&quot;fr&quot;&gt;L'info sur Nexen.net&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>JSMin, le réducteur Javascript</title>
    <link>http://blogs.aldabase.com/fred/post/2006/04/20/JSMin-le-reducteur-Javascript</link>
    <guid isPermaLink="false">urn:md5:7d8101d0b88a6946d5607a7e9320ca30</guid>
    <pubDate>Thu, 20 Apr 2006 11:42:00 +0000</pubDate>
    <dc:creator>Frederic Poeydomenge</dc:creator>
        <category>Javascript</category>
            
    <description>    &lt;p&gt;&lt;a href=&quot;http://www.crockford.com/javascript/jsmin.html&quot; hreflang=&quot;en&quot;&gt;JSMin, The JavaScript Minifier&lt;/a&gt;, de Douglas Crockford, est un filtre qui enleve tous les commentaires et les espaces blancs inutiles de programmes Javascript. En moyenne il permet de diviser la taille d'un fichier par deux, permettant de diminuer d'autant le temps de téléchargement du fichier sur le serveur.&lt;/p&gt;


&lt;p&gt;JSMin n'est pas un assombrisseur de code (&quot;obfuscator&quot;), il ne modifie pas la structure même du code, ni même le nom des variables, il se limite juste à enlever tout ce qui est inutile, et le programme ainsi compressé fonctionne exactement de la même façon que le programme original.&lt;/p&gt;


&lt;p&gt;Le code source est disponible en différentes saveurs, C, C#, Java, Python, Ruby, et &lt;acronym&gt;PHP&lt;/acronym&gt;.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Moteur de stockage transactionnel SolidDB pour MySQL</title>
    <link>http://blogs.aldabase.com/fred/post/2006/04/19/Moteur-de-stockage-transactionnel-SolidDB-pour-MySQL</link>
    <guid isPermaLink="false">urn:md5:4bc202e575f47901d1cf71bb48f0ed14</guid>
    <pubDate>Wed, 19 Apr 2006 18:12:00 +0000</pubDate>
    <dc:creator>Frederic Poeydomenge</dc:creator>
        <category>MySQL</category>
            
    <description>    &lt;p&gt;MySQL risque de bientôt avoir à disposition un nouveau moteur de stockage transactionnel, grâce au moteur de stockage SolidDB de la société &lt;a href=&quot;http://www.solidtech.com/&quot; hreflang=&quot;en&quot;&gt;Solid Information Technology&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;En octobre dernier, Oracle a racheté la société Innobase, et son moteur de stockage InnoDB, qui était un composant essentiel pour la base de données libre MySQL. Puis, en février, Oracle a ensuite racheté la société Sleepycat Software, et son moteur de stockage Berkeley DB. Ces rachats ont fait beaucoup couler d'encre, les intentions de Oracle n'étant pas très claire sur le sujet, même s'il ne faut pas être très futé pour voir que le géant veut clairement mettre des batons dans les roues de la petite société suédoise.&lt;/p&gt;


&lt;p&gt;Enfin, une petite lueur d'espoir apparait, car Solid va développer un moteur de stockage transactionnel pour MySQL, en utilisant un modèle de distribution en double-licence en partie identique à celui de MySQL&amp;nbsp;: &lt;acronym&gt;GPL&lt;/acronym&gt; (pour l'internaute lambda), et licence commerciale pour les sociétés qui veulent disposer du support sur le produit.&lt;/p&gt;


&lt;p&gt;Le premier prototype devrait être disponible fin avril, pour la conférence des utilisateurs MySQL. Une version béta, accompagnée de son code source sera disponible pour le mois de juillet, et la version finale est prévue pour la fin de l'année.&lt;/p&gt;


&lt;p&gt;Voir aussi&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.nexen.net/actualites/mysql/3eme_moteur_transactionnel_annonce_pour_mysql_:_solid..php&quot; hreflang=&quot;fr&quot;&gt;3eme moteur transactionnel annoncé pour MySQL&amp;nbsp;: Solid&lt;/a&gt; sur Nexen.net&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.reseaux-telecoms.net/actualites/lire-solid-va-proposer-une-version-libre-de-son-moteur-pour-mysql-13121.html&quot; hreflang=&quot;fr&quot;&gt;Solid va proposer une version libre de son moteur pour MySQL&lt;/a&gt; sur Réseaux-Télécoms.net&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Vérifier son code JavaScript avec JavaScript Lint</title>
    <link>http://blogs.aldabase.com/fred/post/2006/04/19/Verifier-son-code-JavaScript-avec-JavaScript-Lint</link>
    <guid isPermaLink="false">urn:md5:268756433305c27f9dabf2cc495eda75</guid>
    <pubDate>Wed, 19 Apr 2006 16:56:00 +0000</pubDate>
    <dc:creator>Frederic Poeydomenge</dc:creator>
        <category>Javascript</category>
            
    <description>    &lt;p&gt;&lt;a href=&quot;http://www.jslint.com/&quot; hreflang=&quot;en&quot;&gt;JSlint, The JavaScript Verifier&lt;/a&gt; de Douglas Crockford est un validateur de syntaxe Javascript en ligne. Il permet de repérer les erreurs au sein du code, à commencer par les erreurs de syntaxe, mais aussi les constructions pouvant poser des problèmes (comme les if() sans accolades), Javascript étant relativement permissif à ce niveau là.&lt;/p&gt;


&lt;p&gt;Depuis peu, un autre validateur Javascript a vu le jour, &lt;a href=&quot;http://www.javascriptlint.com/&quot; hreflang=&quot;en&quot;&gt;JavaScript Lint&lt;/a&gt; de Matthias Miller. Il reprends le même principe que son ainé, à savoir un validateur en ligne, mais la spécificité de l'outil est d'être construit autour d'une extension de SpiderMonkey (le moteur Javascript de Firefox), ce qui lui permet de venir s'intégrer très facilement dans l'environnement de développement sur le poste client (par ex. de l'intégrer dans &lt;a href=&quot;http://scintilla.sourceforge.net/SciTE.html&quot; hreflang=&quot;en&quot;&gt;SciTE&lt;/a&gt; en tant que compilateur externe). A l'usage, on s'apercoit qu'il signale les erreurs de manière plus complète et plus pertinente que le JSLint original.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>S5: Un système de slide show basé sur les standards</title>
    <link>http://blogs.aldabase.com/fred/post/2006/04/18/S5-Un-systeme-de-slide-show-base-sur-les-standards</link>
    <guid isPermaLink="false">urn:md5:15cae85e1fe76dd14a69c1a66cd0015e</guid>
    <pubDate>Tue, 18 Apr 2006 10:24:00 +0000</pubDate>
    <dc:creator>Frederic Poeydomenge</dc:creator>
        <category>Standards</category>
            
    <description>    &lt;p&gt;&lt;a href=&quot;http://meyerweb.com/eric/tools/s5/&quot; hreflang=&quot;en&quot;&gt;S5&lt;/a&gt; de &lt;a href=&quot;http://meyerweb.com/&quot; hreflang=&quot;en&quot;&gt;Eric Meyer&lt;/a&gt; est un système de slide show entièrement basé sur des technologies standards&amp;nbsp;: &lt;acronym&gt;XHTML&lt;/acronym&gt;,
&lt;acronym&gt;CSS&lt;/acronym&gt; et Javascript. Dans un seul fichier, vous disposez d'un slide show parfaitement opérationnel, ainsi que de sa version imprimable. Le code &lt;acronym&gt;XHTML&lt;/acronym&gt; utilisé est extrêmement simple, sémantique et complètement accessible. Quiconque ayant un minimum de connaissances en &lt;acronym&gt;XHTML&lt;/acronym&gt; peut adapter le code à ses propres besoins, et quiconque ayant un minimum de connaissances en &lt;acronym&gt;CSS&lt;/acronym&gt; peut créer son propre thème pour les présentations. Ce système est d'une simplicité à toutes épreuves, et repose totalement sur les standards du web actuels.&lt;/p&gt;


&lt;p&gt;Pour voir S5 en action, voir le &lt;a href=&quot;http://meyerweb.com/eric/tools/s5/s5-intro.html&quot; hreflang=&quot;en&quot;&gt;slide show d'introduction à S5&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Pagination des résultats dans l'interpréteur de ligne de commande MySQL</title>
    <link>http://blogs.aldabase.com/fred/post/2006/04/14/Pagination-des-resultats-dans-l-interpreteur-de-ligne-de-commande-MySQL</link>
    <guid isPermaLink="false">urn:md5:86174dc8f41628db9bf76ac662f2fb2e</guid>
    <pubDate>Fri, 14 Apr 2006 12:40:00 +0000</pubDate>
    <dc:creator>Frederic Poeydomenge</dc:creator>
        <category>MySQL</category>
            
    <description>    &lt;p&gt;Lorsque l'on utilise MySQL en ligne de commande, il arrive parfois que l'on soit confronté à des requêtes renvoyant (beaucoup) plus de lignes que ne peut en contenir l'écran. Souvent, même, lorsque le nombre de colonnes est trop élevé, les enregistrements sont présentés sur plusieurs lignes, ce qui nuit grandement à la lisibilité.&lt;/p&gt;


&lt;p&gt;Dans un cas comme dans l'autre, on attends en général devant un écran qui défile à vitesse grand V, jusqu'à ce que tous les enregistrements soient enfin affichés, sachant que le buffer du terminal n'a gardé en mémoire que les X dernières lignes (en général 1000) ce qui fait qu'il est parfois très difficile de s'y retrouver.&lt;/p&gt;


&lt;p&gt;La solution, vue sur &lt;a href=&quot;http://www.phpcult.com/archives/48-MySQL-Tip-Paging-your-results-in-the-MySQL-CLI.html&quot; hreflang=&quot;en&quot;&gt;PHPCult&lt;/a&gt;, consiste à définir le pageur qui va être chargé de l'affichage des résultats&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;mysql&amp;gt; \P less
mysql&amp;gt; PAGER set to 'less'
mysql&amp;gt; select foo from bar;&lt;/pre&gt;


&lt;p&gt;Et voilà&amp;nbsp;! Maintenant les résultats apparaissent à travers la commande &lt;em&gt;less&lt;/em&gt;, ce qui est bien plus lisible que la sortie standard sur stdout, il faut l'avouer.&lt;/p&gt;


&lt;p&gt;Pour désactiver le pageur, il suffit d'utiliser la commande&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;mysql&amp;gt;&lt;/pre&gt;



&lt;p&gt;La documentation officielle MySQL précise que l'on peut utiliser n'importe quelle commande Unix pour le pageur, parmi lesquelles on peut trouver &lt;em&gt;less&lt;/em&gt;, &lt;em&gt;more&lt;/em&gt;, &lt;em&gt;cat [&amp;gt; filename]&lt;/em&gt;, et ainsi de suite (on peut même y passer des options, ou bien utiliser des pipes). Il faut tout de même savoir que cette option ne marche que sur Unix, et qu'elle ne fonctionne pas en mode batch.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Premier brouillon des spécifications XMLHttpRequest au W3C</title>
    <link>http://blogs.aldabase.com/fred/post/2006/04/06/Premier-brouillon-des-specifications-XMLHttpRequest-au-W3C</link>
    <guid isPermaLink="false">urn:md5:199aedf9a9ddbbd8bc59f2fde345b99a</guid>
    <pubDate>Thu, 06 Apr 2006 13:18:00 +0000</pubDate>
    <dc:creator>Frederic Poeydomenge</dc:creator>
        <category>Standards</category>
            
    <description>    &lt;p&gt;L'élément fondamental de la technologie &lt;acronym&gt;AJAX&lt;/acronym&gt;, à savoir &lt;a href=&quot;http://www.w3.org/TR/XMLHttpRequest/&quot; hreflang=&quot;en&quot;&gt;l'objet XMLHttpRequest&lt;/a&gt;, vient de faire un petit pas sur le chemin de sa standardisation&amp;nbsp;: le premier brouillon des spécifications (working draft) a été publié sur le site du &lt;acronym&gt;W3C&lt;/acronym&gt;.&lt;/p&gt;


&lt;p&gt;&lt;code&gt;2006-04-05: The Web API Working Group has released the First Public Working Draft of The XMLHttpRequest Object. The draft documents features of the XMLHttpRequest object based on existing implementations. The interface allows scripts to perform HTTP client functions, such as submitting form data or loading data from a remote Web site. Read about the Rich Web Clients Activity.&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;Le Javascript et le &lt;acronym&gt;XML&lt;/acronym&gt; sont d'ores et déjà des standards, il ne manquait plus qu'une version standardisée de XMLHttpRequest pour que la technologie &lt;acronym&gt;AJAX&lt;/acronym&gt; devienne un standard. En effet, à l'heure actuelle, cet objet javascript est implémenté de manière totalement différente selon les navigateurs.&lt;/p&gt;


&lt;p&gt;Nous sommes donc sur la bonne voie, et si tout se passe bien, le &lt;a href=&quot;http://www.w3.org/2006/webapi/&quot; hreflang=&quot;en&quot;&gt;Web APIs Working Group&lt;/a&gt;, qui s'occupe de définir des interfaces de programmation pour les clients Web, devrait accoucher dans un futur proche d'un nouveau standard, ce qui va à n'en point douter simplifier la vie des développeurs.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Définition &lt;a href=&quot;http://fr.wikipedia.org/wiki/AJAX&quot; hreflang=&quot;fr&quot;&gt;Asynchronous JavaScript And XML&lt;/a&gt; sur wikipedia.&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>WebOnorme, l'annuaire francophone sur les standards du web</title>
    <link>http://blogs.aldabase.com/fred/post/2006/04/02/WebOnorme-l-annuaire-francophone-sur-les-standards-du-web</link>
    <guid isPermaLink="false">urn:md5:f419aa5975980842b365ca6df39aa851</guid>
    <pubDate>Sun, 02 Apr 2006 12:31:00 +0000</pubDate>
    <dc:creator>Frederic Poeydomenge</dc:creator>
        <category>Général</category>
            
    <description>    &lt;p&gt;&lt;a href=&quot;http://www.webonorme.net&quot;&gt;WebOnorme&lt;/a&gt; est un annuaire de ressources, principalement francophones, sur les standards du web, l'accessibilité, la sémantique, l'utilisabilité , l'ergonomie, les &lt;acronym&gt;CSS&lt;/acronym&gt;, l'Ecmascript, le &lt;acronym&gt;XML&lt;/acronym&gt;...&lt;/p&gt;


&lt;p&gt;Cet annuaire a été développé afin de palier à la difficulté de trouver des ressources francophones sur les standards du web, et l'on peut d'ores et déjà y trouver l'essentiel de ce que tout bon developpeur web se doit de connaire.&lt;/p&gt;


&lt;p&gt;Une ressource à ne pas manquer&amp;nbsp;!&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Envoi de mails avec la Classe Sendmail</title>
    <link>http://blogs.aldabase.com/fred/post/2006/04/02/Envoi-de-mails-avec-la-Classe-Sendmail</link>
    <guid isPermaLink="false">urn:md5:0705c5dfff9bd36d058c2313e6d7349f</guid>
    <pubDate>Sun, 02 Apr 2006 12:21:00 +0000</pubDate>
    <dc:creator>Frederic Poeydomenge</dc:creator>
        <category>PHP</category>
            
    <description>    &lt;p&gt;La classe &lt;a href=&quot;http://toolbox.aldabase.com/index.php?package=Sendmail&quot;&gt;Sendmail&lt;/a&gt; est une surcouche aux classes Mail et Mail_Mime de &lt;acronym&gt;PEAR&lt;/acronym&gt;, permettant d'envoyer des mails, de manière relativement simplifiée. Ainsi, pour envoyer un mail au format texte/&lt;acronym&gt;HTML&lt;/acronym&gt;, il suffit juste de faire&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;$mail = new Sendmail($driver, $params);
$mail-&amp;gt;setFrom($from);
$mail-&amp;gt;setSubject($subject);
$mail-&amp;gt;setRecipients(array('to' =&amp;gt; $to, 'cc' =&amp;gt; $cc, 'bcc' =&amp;gt; $bcc));
$mail-&amp;gt;setText($text_version);
$mail-&amp;gt;setHtml($html_version);
$mail-&amp;gt;send();&lt;/pre&gt;


&lt;p&gt;où $driver et $param sont les paramètres passés à la &lt;a href=&quot;http://pear.php.net/manual/en/package.mail.mail.factory.php&quot;&gt;méthode factory() de la classe PEAR::Mail&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;De plus, il est possible d'attacher à un objet Sendmail des objets observateurs, qui vont être prévenus par l'objet Sendmail dès qu'un mail est en cours d'envoi. Cela peut par exemple servir pour enregistrer le mail dans une base de données, ou à le stocker dans un fichier mbox&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;$mail = new Sendmail($driver, $params);
$mail-&amp;gt;attach(new Sendmail_Mbox('/tmp/mbox'));
$mail-&amp;gt;attach(new Sendmail_DB($db, 'INSERT INTO mail VALUES (null,?,?,?,?,?,?,?)'));&lt;/pre&gt;


&lt;p&gt;Qui a dit qu'envoyer des mails était compliqué&amp;nbsp;?&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>MySQL nativement en UTF-8</title>
    <link>http://blogs.aldabase.com/fred/post/2006/03/30/MySQL-nativement-en-UTF-8</link>
    <guid isPermaLink="false">urn:md5:4f9c36346fdaed3fb93dd5e80ff7f940</guid>
    <pubDate>Thu, 30 Mar 2006 22:17:00 +0000</pubDate>
    <dc:creator>Frederic Poeydomenge</dc:creator>
        <category>MySQL</category>
            
    <description>    &lt;p&gt;Quand on veut produire des pages web en utilisant le jeux de caractères UTF-8 d'un bout à l'autre de la chaine (des tables de la base de données en UTF-8, jusqu'à l'encodage des pages &lt;acronym&gt;(X)HTML&lt;/acronym&gt; en UTF-8), on se retrouve confronté au problème suivant, qui est que la connection entre &lt;acronym&gt;PHP&lt;/acronym&gt; et MySQL s'effectue par défaut en latin1 standard.&lt;/p&gt;


&lt;p&gt;Pour y remédier, la solution la plus propre est de changer, au niveau du serveur, le jeux de caractère utilisé pour la connection, en rajoutant la ligne suivante dans la section [mysqld] du fichier de configuration de MySQL (généralement /etc/mysql/my.cnf)&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;[mysqld]
init-connect = 'SET NAMES utf8'&lt;/pre&gt;


&lt;p&gt;Mais si vous n'avez pas accès à ce fichier, ou que vous ne voulez utiliser ce paramétrage que de manière ponctuelle sur certaines bases, l'autre façon d'indiquer à MySQL quel jeux de caractère doit être utilisé peut se faire indépendamment à chaque connection&amp;nbsp;: après avoir établi une connection avec le serveur (hôte, utilisateur, mot de passe), effectuer la requête suivante dans votre application&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;SET NAMES utf8;&lt;/pre&gt;


&lt;p&gt;Cette solution est celle qui est généralement donnée, mais elle nécessite que l'on change l'application pour que cela fonctionne.&lt;/p&gt;</description>
    
    
    
      </item>
    
</channel>
</rss>