<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet href="/serendipity/templates/default/atom.css" type="text/css" ?>

<feed 
   xmlns="http://www.w3.org/2005/Atom"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    <link href="http://ivanramirez.info/serendipity/feeds/atom.xml" rel="self" title="Ivan Ramirez" type="application/atom+xml" />
    <link href="http://ivanramirez.info/serendipity/"                        rel="alternate"    title="Ivan Ramirez" type="text/html" />
    <link href="http://ivanramirez.info/serendipity/rss.php?version=2.0"     rel="alternate"    title="Ivan Ramirez" type="application/rss+xml" />
    <title type="html">Ivan Ramirez</title>
    <subtitle type="html">Pérégrinations sur le développement web</subtitle>
    <icon>http://ivanramirez.info/serendipity/templates/default/img/s9y_banner_small.png</icon>
    <id>http://ivanramirez.info/serendipity/</id>
    <updated>2008-05-10T18:57:45Z</updated>
    <generator uri="http://www.s9y.org/" version="1.1-alpha7">Serendipity 1.1-alpha7 - http://www.s9y.org/</generator>
    <dc:language>en</dc:language>

    <entry>
        <link href="http://ivanramirez.info/serendipity/archives/22-A-bookmarker.html" rel="alternate" title="A bookmarker" />
        <author>
            <name>rami</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2008-05-10T18:49:23Z</published>
        <updated>2008-05-10T18:57:45Z</updated>
        <wfw:comment>http://ivanramirez.info/serendipity/wfwcomment.php?cid=22</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://ivanramirez.info/serendipity/rss.php?version=atom1.0&amp;type=comments&amp;cid=22</wfw:commentRss>
    
            <category scheme="http://ivanramirez.info/serendipity/categories/1-PHP" label="PHP" term="PHP" />
    
        <id>http://ivanramirez.info/serendipity/archives/22-guid.html</id>
        <title type="html">A bookmarker</title>
        <content type="xhtml" xml:base="http://ivanramirez.info/serendipity/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <br />
<p>Un excellent blog d'un développeur ASP.net, Maarten Balliauw, qui maîtrise aussi PHP.</p><p>Ces 2 articles notamment valent un coup d'oeil:</p><ul><li><a href="http://blog.maartenballiauw.be/post/2008/03/Reuse-Excel-business-logic-with-PHPExcel.aspx">Reuse Excel business logic with PHPExcel</a> : où comment intégrer la logique métier de classeurs Excel dans un environnement Web. Cela peut s'avérer extrêment pratique dans le cadre d'un intranet.</li><li><a href="http://blog.maartenballiauw.be/post/2007/10/Generic-arrays-in-PHP.aspx">Generic arrays in PHP</a> : pour les développeurs Javaiste qui n'aiment pas utiliser des tableaux d'objets en PHP <img src="http://ivanramirez.info/serendipity/templates/default/img/emoticons/wink.png" alt=";-)" style="display: inline; vertical-align: bottom;" class="emoticon" />.  Maarten Balliauw explique comment disposer de collections typées en PHP.</li></ul>Définitivement à bookmarker! <br /><a href="http://ivanramirez.info/serendipity/archives/22-A-bookmarker.html#extended">Continue reading "A bookmarker"</a>
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://ivanramirez.info/serendipity/archives/21-Outils-de-debug-AJAX.html" rel="alternate" title="Outils de debug AJAX" />
        <author>
            <name>rami</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2008-05-10T17:48:42Z</published>
        <updated>2008-05-10T21:59:06Z</updated>
        <wfw:comment>http://ivanramirez.info/serendipity/wfwcomment.php?cid=21</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://ivanramirez.info/serendipity/rss.php?version=atom1.0&amp;type=comments&amp;cid=21</wfw:commentRss>
    
            <category scheme="http://ivanramirez.info/serendipity/categories/1-PHP" label="PHP" term="PHP" />
            <category scheme="http://ivanramirez.info/serendipity/categories/5-Web-UI" label="Web UI" term="Web UI" />
    
        <id>http://ivanramirez.info/serendipity/archives/21-guid.html</id>
        <title type="html">Outils de debug AJAX</title>
        <content type="xhtml" xml:base="http://ivanramirez.info/serendipity/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <br />
        Etant relativement novice en développement AJAX, je viens de reprendre un projet développé à partir de <a href="http://www.activewidgets.com/">ActiveWidgets</a> que je dois adapter.<br />
<br />
Il est assez <strike>chiant</strike> laborieux de debuguer une interface en Javascript quand celle-ci est générée à partir de PHP. C'est là que l'excellente extension <a href="http://www.getfirebug.com/">Firebug</a> devient indispensable. Couplée à <a href="http://www.firephp.org/">FirePHP</a>, le debuggage devient nettement plus sympathique :<br /><div align="center"><img width="566" height="275" src="http://ivanramirez.info/serendipity/uploads/firebugfirephp.jpg" style="border: 0px none ; padding-left: 5px; padding-right: 5px;" /><!--s9ymdb:28--><!--s9ymdb:28--><!--s9ymdb:28--><br />
</div><p>Il est alors possible de faire un dump dans un nouvel onglet <b>Server</b> à partir d'une simple ligne de code php</p><p><br />
<div class="bb-php-title">PHP:</div><div class="bb-php"><code><font color="#000000"><br />
<font color="#0000BB">&lt;?php<br />
<br />
fb</font><font color="#007700">(array(</font><font color="#DD0000">'key1'</font><font color="#007700">=&amp;</font><font color="#0000BB">gt</font><font color="#007700">;</font><font color="#DD0000">'val1'</font><font color="#007700">,<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font><font color="#DD0000">'key2'</font><font color="#007700">=&amp;</font><font color="#0000BB">gt</font><font color="#007700">;array(array(</font><font color="#DD0000">'v1'</font><font color="#007700">,</font><font color="#DD0000">'v2'</font><font color="#007700">),</font><font color="#DD0000">'v3'</font><font color="#007700">)),<br />
&#160;&#160;&#160;</font><font color="#DD0000">'TestArray'</font><font color="#007700">,</font><font color="#0000BB">FirePHP</font><font color="#007700">::</font><font color="#0000BB">LOG</font><font color="#007700">);<br />
<br />
</font><font color="#0000BB">?&gt;</font><br />
</font><br />
</code></div></p><p /> <br /><a href="http://ivanramirez.info/serendipity/archives/21-Outils-de-debug-AJAX.html#extended">Continue reading "Outils de debug AJAX"</a>
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://ivanramirez.info/serendipity/archives/20-PHP_UML-Reverse-engineering.html" rel="alternate" title="PHP_UML : Reverse engineering" />
        <author>
            <name>rami</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2008-05-10T17:12:22Z</published>
        <updated>2008-05-10T18:23:06Z</updated>
        <wfw:comment>http://ivanramirez.info/serendipity/wfwcomment.php?cid=20</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://ivanramirez.info/serendipity/rss.php?version=atom1.0&amp;type=comments&amp;cid=20</wfw:commentRss>
    
            <category scheme="http://ivanramirez.info/serendipity/categories/1-PHP" label="PHP" term="PHP" />
    
        <id>http://ivanramirez.info/serendipity/archives/20-guid.html</id>
        <title type="html">PHP_UML : Reverse engineering</title>
        <content type="xhtml" xml:base="http://ivanramirez.info/serendipity/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <br />
    J'utilise habituellement <a href="http://staruml.sourceforge.net/en/">StarUML </a>comme outil de modélisation car il convient à la plupart de mes besoins. Il n'est cependant pas possible de faire de reverse engineering depuis PHP. Mais ô miracle du web, j'ai trouvé PHP_UML, un outil PHP qui comble ce manque :<br />
<blockquote><p><br />
PHP_UML is a reverse-engineering tool, as well a metamodel-driven application.<br />
<br />
Practically, with PHP_UML, you can feed a modeling design tool, like Rational Rose or Argouml, with an UML representation of existing PHP source code. This way you get an immediate overview of an application, with all the usual functions of a software design tool, like class diagrams exportation, refactoring of object-oriented applications, or automatic code generation.</p><p /></blockquote><br />
 <br /><a href="http://ivanramirez.info/serendipity/archives/20-PHP_UML-Reverse-engineering.html#extended">Continue reading "PHP_UML : Reverse engineering"</a>
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://ivanramirez.info/serendipity/archives/19-Eclipse-PHP-Class-Generator-Generez-vos-classes-PHP.html" rel="alternate" title="Eclipse PHP Class Generator: Générez vos classes PHP" />
        <author>
            <name>rami</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2008-05-04T21:33:56Z</published>
        <updated>2008-05-04T21:52:05Z</updated>
        <wfw:comment>http://ivanramirez.info/serendipity/wfwcomment.php?cid=19</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://ivanramirez.info/serendipity/rss.php?version=atom1.0&amp;type=comments&amp;cid=19</wfw:commentRss>
    
            <category scheme="http://ivanramirez.info/serendipity/categories/1-PHP" label="PHP" term="PHP" />
            <category scheme="http://ivanramirez.info/serendipity/categories/4-Eclipse" label="Eclipse" term="Eclipse" />
    
        <id>http://ivanramirez.info/serendipity/archives/19-guid.html</id>
        <title type="html">Eclipse PHP Class Generator: Générez vos classes PHP</title>
        <content type="xhtml" xml:base="http://ivanramirez.info/serendipity/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                    Je viens de tomber par hasard sur un article d'<a href="http://www.ibm.com/developerworks/library/os-eclipse-phpclassgen/index.html?S_TACT=105AGX44&S_CMP=EDU">IBM developerWorks</a> qui explique comment générer vos classes PHP dans Eclipse à partir d'une base de données.<br />
<p>    Après avoir installé un plugin (qui s'intègre à PDT), il suffit d'un fichier template pour générer vos classes. Là où ce générateur devient intéressant, est qu'il est possible de définir des méthodes qui permettent de charger les données, faire ses DAO. Bref,  un gain de temps non négligeable puisqu'une fois votre base de données créer, il suffit de créer un template et hop, vous générez vos nombreuses classes!</p><p>    A la fin de l'article, vous trouverez les liens pour installer le plugin PHP Class Generator ainsi qu'un certains nombres de ressources utiles.</p> <br /><a href="http://ivanramirez.info/serendipity/archives/19-Eclipse-PHP-Class-Generator-Generez-vos-classes-PHP.html#extended">Continue reading "Eclipse PHP Class Generator: Générez vos classes PHP"</a>
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://ivanramirez.info/serendipity/archives/18-Bookmark-Java.html" rel="alternate" title="Bookmark Java" />
        <author>
            <name>rami</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2008-05-03T22:10:45Z</published>
        <updated>2008-05-04T15:45:48Z</updated>
        <wfw:comment>http://ivanramirez.info/serendipity/wfwcomment.php?cid=18</wfw:comment>
    
        <slash:comments>2</slash:comments>
        <wfw:commentRss>http://ivanramirez.info/serendipity/rss.php?version=atom1.0&amp;type=comments&amp;cid=18</wfw:commentRss>
    
            <category scheme="http://ivanramirez.info/serendipity/categories/6-Java" label="Java" term="Java" />
    
        <id>http://ivanramirez.info/serendipity/archives/18-guid.html</id>
        <title type="html">Bookmark Java</title>
        <content type="xhtml" xml:base="http://ivanramirez.info/serendipity/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                Un tas de bons conseils et de snippets pour swinguer avec classe :<ul><li><a href="http://www.swingwiki.org/table_of_contents">SwingWiki</a></li><li><a href="http://www.jroller.com/santhosh/?page=1">le blog de Santosh Kumar's</a> avec un excellent article sur comment implémenter les actions Undo / redo dans une application Swing</li></ul><br />
 <br /><a href="http://ivanramirez.info/serendipity/archives/18-Bookmark-Java.html#extended">Continue reading "Bookmark Java"</a>
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://ivanramirez.info/serendipity/archives/17-PHP5-Filtrer-avec-style-grace-aux-iterateurs.html" rel="alternate" title="PHP5 : Filtrer avec style grâce aux itérateurs" />
        <author>
            <name>rami</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2008-05-03T21:54:16Z</published>
        <updated>2008-05-03T22:15:53Z</updated>
        <wfw:comment>http://ivanramirez.info/serendipity/wfwcomment.php?cid=17</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://ivanramirez.info/serendipity/rss.php?version=atom1.0&amp;type=comments&amp;cid=17</wfw:commentRss>
    
            <category scheme="http://ivanramirez.info/serendipity/categories/1-PHP" label="PHP" term="PHP" />
    
        <id>http://ivanramirez.info/serendipity/archives/17-guid.html</id>
        <title type="html">PHP5 : Filtrer avec style grâce aux itérateurs</title>
        <content type="xhtml" xml:base="http://ivanramirez.info/serendipity/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <br />
  Ayant un peu galérer pour trouver comment faire une recherche récursive en utilisant les itérateurs fournies par la SPL, voici ma solution. Je ne garantis pas que ce soit la bonne manière, mais elle ne me semble pas particulièrement mauvaise.<br />
<p>Le code PHP du filtre : </p><br />
<div class="bb-php-title">PHP:</div><div class="bb-php"><code><font color="#000000"><br />
<font color="#0000BB">&lt;?php<br />
<br />
</font><font color="#007700">class&#160;</font><font color="#0000BB">PatternsSearchIterator&#160;</font><font color="#007700">extends&#160;</font><font color="#0000BB">FilterIterator</font><font color="#007700">{&#160;&#160;&#160;&#160;<br />
&#160;<br />
&#160;&#160;&#160;&#160;</font><font color="#0000BB">private&#160;$extension</font><font color="#007700">;&#160;&#160;&#160;&#160;<br />
&#160;<br />
&#160;&#160;&#160;&#160;</font><font color="#0000BB">public&#160;</font><font color="#007700">function&#160;</font><font color="#0000BB">__construct</font><font color="#007700">(</font><font color="#0000BB">Iterator&#160;$iterator</font><font color="#007700">,&#160;</font><font color="#0000BB">$extension</font><font color="#007700">){&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<br />
&#160;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font><font color="#0000BB">parent</font><font color="#007700">::</font><font color="#0000BB">__construct</font><font color="#007700">(</font><font color="#0000BB">$iterator</font><font color="#007700">);<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font><font color="#0000BB">$this</font><font color="#007700">-&gt;</font><font color="#0000BB">extension&#160;</font><font color="#007700">=&#160;</font><font color="#0000BB">$extension</font><font color="#007700">;<br />
&#160;<br />
&#160;&#160;&#160;&#160;}<br />
&#160;<br />
&#160;&#160;&#160;&#160;</font><font color="#0000BB">public&#160;</font><font color="#007700">function&#160;</font><font color="#0000BB">accept</font><font color="#007700">(){<br />
&#160;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return&#160;(&#160;</font><font color="#0000BB">stripos</font><font color="#007700">(&#160;</font><font color="#0000BB">$this</font><font color="#007700">-&gt;</font><font color="#0000BB">current</font><font color="#007700">(),&#160;</font><font color="#0000BB">$this</font><font color="#007700">-&gt;</font><font color="#0000BB">extension</font><font color="#007700">)&#160;!==&#160;</font><font color="#0000BB">false&#160;</font><font color="#007700">);<br />
&#160;&#160;&#160;&#160;}<br />
&#160;<br />
}<br />
<br />
</font><font color="#0000BB">?&gt;</font><br />
</font><br />
</code></div><br />
Et un exemple d'utilisation qui recherche tous les fichiers XML d'un répertoire :<br />
<div class="bb-php-title">PHP:</div><div class="bb-php"><code><font color="#000000"><br />
<font color="#0000BB">&lt;?php<br />
<br />
$extension&#160;</font><font color="#007700">=&#160;</font><font color="#DD0000">'.xml'</font><font color="#007700">;<br />
</font><font color="#0000BB">$dir&#160;</font><font color="#007700">=&#160;</font><font color="#DD0000">'/path/to/search'</font><font color="#007700">;<br />
<br />
</font><font color="#0000BB">$directory&#160;</font><font color="#007700">=&#160;new&#160;</font><font color="#0000BB">RecursiveIteratorIterator</font><font color="#007700">(<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;new&#160;</font><font color="#0000BB">RecursiveDirectoryIterator</font><font color="#007700">(&#160;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font><font color="#0000BB">$dir</font><font color="#007700">,&#160;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font><font color="#0000BB">RecursiveDirectoryIterator</font><font color="#007700">::</font><font color="#0000BB">KEY_AS_FILENAME<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font><font color="#007700">)<br />
);<br />
<br />
</font><font color="#0000BB">$xmlFiles&#160;</font><font color="#007700">=&#160;new&#160;</font><font color="#0000BB">PatternsSearchIterator&#160;</font><font color="#007700">(</font><font color="#0000BB">$directory</font><font color="#007700">,&#160;</font><font color="#0000BB">$extension</font><font color="#007700">);<br />
&#160;<br />
foreach(</font><font color="#0000BB">$xmlFiles&#160;</font><font color="#007700">as&#160;</font><font color="#0000BB">$xml</font><font color="#007700">){<br />
&#160;&#160;echo&#160;</font><font color="#DD0000">"$xml&lt;br&#160;/&gt;"</font><font color="#007700">;<br />
}<br />
<br />
</font><font color="#0000BB">?&gt;</font><br />
</font><br />
</code></div> <br /><a href="http://ivanramirez.info/serendipity/archives/17-PHP5-Filtrer-avec-style-grace-aux-iterateurs.html#extended">Continue reading "PHP5 : Filtrer avec style grâce aux itérateurs"</a>
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://ivanramirez.info/serendipity/archives/16-OpenLaszlo.html" rel="alternate" title="OpenLaszlo" />
        <author>
            <name>rami</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2008-05-03T21:12:45Z</published>
        <updated>2008-05-03T21:52:16Z</updated>
        <wfw:comment>http://ivanramirez.info/serendipity/wfwcomment.php?cid=16</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://ivanramirez.info/serendipity/rss.php?version=atom1.0&amp;type=comments&amp;cid=16</wfw:commentRss>
    
            <category scheme="http://ivanramirez.info/serendipity/categories/5-Web-UI" label="Web UI" term="Web UI" />
    
        <id>http://ivanramirez.info/serendipity/archives/16-guid.html</id>
        <title type="html">OpenLaszlo</title>
        <content type="xhtml" xml:base="http://ivanramirez.info/serendipity/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <br />
<a href="http://www.openlaszlo.org/">OpenLaszlo</a> est une plateforme de développement d'applications RIA. Elle permet de créer des applications au format Flash ou DHTML très rapidemment à partir d'un mélange d'XML et de Javascript. Cette plateforme permet notamment de répliquer les composants à partir d'une source de données XML. Allez voir <a href="http://www.openlaszlo.org/demos">les démos</a> pour vous donner un aperçu des composants disponibles par défaut.<br /> <p>Il devient facile de générer des interfaces riches, avec des animations sympas, et plutôt user friendly. </p> <br /><a href="http://ivanramirez.info/serendipity/archives/16-OpenLaszlo.html#extended">Continue reading "OpenLaszlo"</a>
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://ivanramirez.info/serendipity/archives/15-hbm2php-Generez-vos-classes-PHP-a-partir-dHibernate.html" rel="alternate" title="hbm2php : Générez vos classes PHP à partir d'Hibernate" />
        <author>
            <name>rami</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2008-05-02T21:36:56Z</published>
        <updated>2008-05-03T11:02:57Z</updated>
        <wfw:comment>http://ivanramirez.info/serendipity/wfwcomment.php?cid=15</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://ivanramirez.info/serendipity/rss.php?version=atom1.0&amp;type=comments&amp;cid=15</wfw:commentRss>
    
            <category scheme="http://ivanramirez.info/serendipity/categories/1-PHP" label="PHP" term="PHP" />
    
        <id>http://ivanramirez.info/serendipity/archives/15-guid.html</id>
        <title type="html">hbm2php : Générez vos classes PHP à partir d'Hibernate</title>
        <content type="xhtml" xml:base="http://ivanramirez.info/serendipity/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <br />
<p align="justify"><a href="http://www.hibernate.org">Hibernate</a> est une API Java implémentant JPA(Java Persistance API). Elle est très utilisée au sein de la communauté Java afin de persister en base de données ses objets. Travaillant dans une architecture où Java et PHP sont mélés, j'ai développé un script PHP qui permet de générer des classes PHP à partir des fichiers de mapping Hibernate.</p><p align="justify">    Je me dis que ça pourrait peut-être être intéresser quelqu'un, donc voici les sources : <a href="http://ivanramirez.info/serendipity/uploads/hbm2php/hbm2php.zip.tar" title="Projet Eclipse">hbm2php.zip</a></p><p align="justify" /><p align="justify">    Le principe est d'analyser un répertoire à la recherche de fichiers de mapping(*.hbm.xml) et de générer toutes les classes PHP définies dans les fichiers. Un template de classe est utilisé contenant certains mots clés qui sont remplacés automatiquement. Le code est développé en PHP5, en objet et est donc facilement extensible.</p><br />
 <br /><a href="http://ivanramirez.info/serendipity/archives/15-hbm2php-Generez-vos-classes-PHP-a-partir-dHibernate.html#extended">Continue reading "hbm2php : Générez vos classes PHP à partir d'Hibernate"</a>
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://ivanramirez.info/serendipity/archives/14-PHP5-et-auto-chargement-de-classes.html" rel="alternate" title="PHP5 et auto chargement de classes" />
        <author>
            <name>rami</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2007-01-20T11:55:08Z</published>
        <updated>2007-01-20T12:22:23Z</updated>
        <wfw:comment>http://ivanramirez.info/serendipity/wfwcomment.php?cid=14</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://ivanramirez.info/serendipity/rss.php?version=atom1.0&amp;type=comments&amp;cid=14</wfw:commentRss>
    
            <category scheme="http://ivanramirez.info/serendipity/categories/1-PHP" label="PHP" term="PHP" />
    
        <id>http://ivanramirez.info/serendipity/archives/14-guid.html</id>
        <title type="html">PHP5 et auto chargement de classes</title>
        <content type="xhtml" xml:base="http://ivanramirez.info/serendipity/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <br />
<p>La fonction &quot;magique&quot;__autoload() est arrivée avec PHP5 et permet comme vous le savez certainement d'inclure automatiquement les classes utilisées sans avoir à faire des include() ou require() à chaque utilisation. L'utilisation la plus basique est :<br />
</p><p><br />
<div class="bb-php-title">PHP:</div><div class="bb-php"><code><font color="#000000"><br />
<font color="#0000BB">&lt;?php<br />
<br />
</font><font color="#007700">function&#160;</font><font color="#0000BB">__autoload</font><font color="#007700">(</font><font color="#0000BB">$classname</font><font color="#007700">)&#160;{<br />
&#160;&#160;require&#160;</font><font color="#0000BB">$classname&#160;</font><font color="#007700">.&#160;</font><font color="#DD0000">'.php'</font><font color="#007700">;<br />
<br />
}<br />
<br />
</font><font color="#0000BB">?&gt;</font><br />
</font><br />
</code></div><br />
<br />
A chaque fois qu'on utilise une classe non encore définie, PHP recherche si la fonction __autoload() est implémentée, et si c'est le cas exécute cette fonction (en gros). Il est donc possible de faire tout un tas de choses dans cette fonction. J'ai déjà vu des implémentations qui scannaient tous les répertoires des librairies afin d'inclure la définition. Je n'imagine pas l'impact au niveau des performances de l'application.<br />
<br />
 Mais dès que l'on utilise plusieurs librairies, on comprend pourquoi l'utilisation de cette fonction peut vite devenir complexe.<br />
</p> <br /><a href="http://ivanramirez.info/serendipity/archives/14-PHP5-et-auto-chargement-de-classes.html#extended">Continue reading "PHP5 et auto chargement de classes"</a>
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://ivanramirez.info/serendipity/archives/13-XMLSWF-Charts,-graphiques-dynamiques-en-Flash.html" rel="alternate" title="XML/SWF Charts, graphiques dynamiques en Flash" />
        <author>
            <name>rami</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2007-01-17T13:02:56Z</published>
        <updated>2007-01-20T11:55:04Z</updated>
        <wfw:comment>http://ivanramirez.info/serendipity/wfwcomment.php?cid=13</wfw:comment>
    
        <slash:comments>1</slash:comments>
        <wfw:commentRss>http://ivanramirez.info/serendipity/rss.php?version=atom1.0&amp;type=comments&amp;cid=13</wfw:commentRss>
    
            <category scheme="http://ivanramirez.info/serendipity/categories/1-PHP" label="PHP" term="PHP" />
    
        <id>http://ivanramirez.info/serendipity/archives/13-guid.html</id>
        <title type="html">XML/SWF Charts, graphiques dynamiques en Flash</title>
        <content type="xhtml" xml:base="http://ivanramirez.info/serendipity/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <br />
<p>        De retour de vacances, voici un rapide billet sur l'utilisation de XML/SWF Charts. Je l'avais testé il y a longtemps pour le boulot. Il s'agit d'un ensemble de fichiers flashs compilés qui peuvent se nourrir de données XML externes. Ainsi, avec un simple script PHP, il est possible de &quot;dynamiser&quot; le graphique très facilement.</p><p><font><a href="http://www.maani.us/xml_charts/index.php"></a></font></p><br />
 <br /><a href="http://ivanramirez.info/serendipity/archives/13-XMLSWF-Charts,-graphiques-dynamiques-en-Flash.html#extended">Continue reading "XML/SWF Charts, graphiques dynamiques en Flash"</a>
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://ivanramirez.info/serendipity/archives/12-Zend-Framework-et-Active-Record.html" rel="alternate" title="Zend Framework et Active Record" />
        <author>
            <name>rami</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2006-09-09T10:27:45Z</published>
        <updated>2006-09-10T18:18:49Z</updated>
        <wfw:comment>http://ivanramirez.info/serendipity/wfwcomment.php?cid=12</wfw:comment>
    
        <slash:comments>1</slash:comments>
        <wfw:commentRss>http://ivanramirez.info/serendipity/rss.php?version=atom1.0&amp;type=comments&amp;cid=12</wfw:commentRss>
    
            <category scheme="http://ivanramirez.info/serendipity/categories/1-PHP" label="PHP" term="PHP" />
    
        <id>http://ivanramirez.info/serendipity/archives/12-guid.html</id>
        <title type="html">Zend Framework et Active Record</title>
        <content type="xhtml" xml:base="http://ivanramirez.info/serendipity/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <br />
<div align="justify">Suite à un billet posté sur <a href="http://www.blognote-info.com/index.php?2006/07/10/444-utilisation-d-un-activerecord-avec-le-zendframework">blognote-info.com</a>, je me suis dit qu'il ne manquait pas grand chose au framework Zend pour que l'on puisse utiliser nos classes persistantes via le pattern <a href="http://www.martinfowler.com/eaaCatalog/activeRecord.html">Active Record</a>.</div><p align="justify">Le framework de Zend propose un mécanisme d'accès aux données très pratique, basé sur Zend_Db_Table. Il permet de faire des <a href="http://fr.wikipedia.org/wiki/CRUD">CRUD</a> rapidement en héritant de Zend_Db_Table. Cependant, il faut triturer un peu les données en entrées pour que cela se fasse naturellement en objet. Voici le résultat de mes expérimentations pour rendre la persistance des objets plus conviviales au sein du framework Zend.</p> <br /><a href="http://ivanramirez.info/serendipity/archives/12-Zend-Framework-et-Active-Record.html#extended">Continue reading "Zend Framework et Active Record"</a>
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://ivanramirez.info/serendipity/archives/11-Debugger-avec-le-plugin-Zend-dEclipse.html" rel="alternate" title="Debugger avec le plugin Zend d'Eclipse" />
        <author>
            <name>rami</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2006-08-16T19:22:37Z</published>
        <updated>2006-08-16T19:44:16Z</updated>
        <wfw:comment>http://ivanramirez.info/serendipity/wfwcomment.php?cid=11</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://ivanramirez.info/serendipity/rss.php?version=atom1.0&amp;type=comments&amp;cid=11</wfw:commentRss>
    
            <category scheme="http://ivanramirez.info/serendipity/categories/1-PHP" label="PHP" term="PHP" />
            <category scheme="http://ivanramirez.info/serendipity/categories/4-Eclipse" label="Eclipse" term="Eclipse" />
    
        <id>http://ivanramirez.info/serendipity/archives/11-guid.html</id>
        <title type="html">Debugger avec le plugin Zend d'Eclipse</title>
        <content type="xhtml" xml:base="http://ivanramirez.info/serendipity/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <br />
Suite au <a href="http://ivanramirez.info/serendipity/archives/8-Installation-du-plugin-PHP-de-Zend-Zend-PHP-IDE.html">billet précédent</a> sur le plugin Zend et les interrogations de nicot, voici comment faire pour debugger sous Eclipse avec le plugin Zend.<br />
 <br /><a href="http://ivanramirez.info/serendipity/archives/11-Debugger-avec-le-plugin-Zend-dEclipse.html#extended">Continue reading "Debugger avec le plugin Zend d'Eclipse"</a>
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://ivanramirez.info/serendipity/archives/10-Akismet.html" rel="alternate" title="Akismet" />
        <author>
            <name>rami</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2006-08-02T20:25:33Z</published>
        <updated>2006-08-13T17:55:13Z</updated>
        <wfw:comment>http://ivanramirez.info/serendipity/wfwcomment.php?cid=10</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://ivanramirez.info/serendipity/rss.php?version=atom1.0&amp;type=comments&amp;cid=10</wfw:commentRss>
    
            <category scheme="http://ivanramirez.info/serendipity/categories/3-Perso" label="Perso" term="Perso" />
    
        <id>http://ivanramirez.info/serendipity/archives/10-guid.html</id>
        <title type="html">Akismet</title>
        <content type="xhtml" xml:base="http://ivanramirez.info/serendipity/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <br />
Le blog vient de subir pas mal de spams ces derniers jours. J'ai donc souscrit aux services que fournit <a href="http://www.akismet.com">Akismet</a>. <p>A la base développé pour <a href="http://www.wordpress.com">wordpress</a>, ce web service permet de valider un commentaire. Il repose sur le principe de l'expérience. A chaque nouveau type de message de spam, la base s'enrichit et permet donc un résultat plus pertinent à la prochaine recherche.</p><p>Il est à noter que ce service est implémenté par défaut dans <a href="http://www.s9y.org">serendipity </a>et qu'il suffit d'obtenir une clé pour accéder à l'API d'Akismet (clé fournie gratuitement).</p><p>Verdict dans quelques jours!</p><br /><br />
 <br /><a href="http://ivanramirez.info/serendipity/archives/10-Akismet.html#extended">Continue reading "Akismet"</a>
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://ivanramirez.info/serendipity/archives/9-Patterns-for-PHP.html" rel="alternate" title="Patterns for PHP" />
        <author>
            <name>rami</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2006-07-19T18:53:00Z</published>
        <updated>2006-07-19T19:33:24Z</updated>
        <wfw:comment>http://ivanramirez.info/serendipity/wfwcomment.php?cid=9</wfw:comment>
    
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://ivanramirez.info/serendipity/rss.php?version=atom1.0&amp;type=comments&amp;cid=9</wfw:commentRss>
    
            <category scheme="http://ivanramirez.info/serendipity/categories/2-Liens" label="Liens" term="Liens" />
    
        <id>http://ivanramirez.info/serendipity/archives/9-guid.html</id>
        <title type="html">Patterns for PHP</title>
        <content type="xhtml" xml:base="http://ivanramirez.info/serendipity/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                    Une belle initiative vient de voir le jour. Elle a pour but de proposer un catalogue de design patterns (motif de conception pour les anglophobes) implémentés en PHP. Les exemples de qualié trouvés sur le web sont malheureusement bien souvent implémentés en Java ou C#. <a href="http://www.patternsforphp.com/"><b>Patterns for PHP</b></a> tente de combler ce vide. <p>Un article vient de paraître sur IBM traitant de <a href="http://www-128.ibm.com/developerworks/library/os-php-designptrns/">5 design patterns courants</a> dans les applications web.</p><p>Et biensûr le connu et reconnu <a href="http://www.phppatterns.com/">phppatterns.com</a></p> <br /><a href="http://ivanramirez.info/serendipity/archives/9-Patterns-for-PHP.html#extended">Continue reading "Patterns for PHP"</a>
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://ivanramirez.info/serendipity/archives/8-Installation-du-plugin-PHP-de-Zend-Zend-PHP-IDE.html" rel="alternate" title="Installation du plugin PHP de Zend (Zend PHP IDE)" />
        <author>
            <name>rami</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2006-07-07T22:38:08Z</published>
        <updated>2006-07-08T18:38:31Z</updated>
        <wfw:comment>http://ivanramirez.info/serendipity/wfwcomment.php?cid=8</wfw:comment>
    
        <slash:comments>10</slash:comments>
        <wfw:commentRss>http://ivanramirez.info/serendipity/rss.php?version=atom1.0&amp;type=comments&amp;cid=8</wfw:commentRss>
    
            <category scheme="http://ivanramirez.info/serendipity/categories/1-PHP" label="PHP" term="PHP" />
            <category scheme="http://ivanramirez.info/serendipity/categories/4-Eclipse" label="Eclipse" term="Eclipse" />
    
        <id>http://ivanramirez.info/serendipity/archives/8-guid.html</id>
        <title type="html">Installation du plugin PHP de Zend (Zend PHP IDE)</title>
        <content type="xhtml" xml:base="http://ivanramirez.info/serendipity/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <br />
<p>Voici un petit tutorial sur l'installation du plugin PHP de Zend en version 0.1.7 à partir d'Eclipse 3.2. Je propose l'installation classique (en mode non geek <img src="http://ivanramirez.info/serendipity/templates/default/img/emoticons/wink.png" alt=";-)" style="display: inline; vertical-align: bottom;" class="emoticon" /> ).</p><p>Pour les fainéants, vous pouvez directement télécharge le pack complet, comprenant Eclipse, les plugins JDT, EMF, GEF, GEM, Webtools, le plugin PHP ainsi que le debuggeur de Zend <a href="http://downloads.zend.com/phpide/all-in-one/">ici</a>.</p> <br /><a href="http://ivanramirez.info/serendipity/archives/8-Installation-du-plugin-PHP-de-Zend-Zend-PHP-IDE.html#extended">Continue reading "Installation du plugin PHP de Zend (Zend PHP IDE)"</a>
            </div>
        </content>
        
    </entry>

</feed>