<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://www.numabilis.com">
<channel>
 <title>Numabilis - PHP</title>
 <link>http://www.numabilis.com/taxonomy/term/8/0</link>
 <description></description>
 <language>fr</language>
<item>
 <title>Critères de choix d&#039;un framework PHP</title>
 <link>http://www.numabilis.com/blog/2007-05-30-criteres_de_choix_dun_framework_php</link>
 <description>&lt;p&gt;En tant que chef de projet dans une grosse structure, &lt;a href=&quot;/blog/2007-01-15-framework_php_mvc_pourquoi_sen_passer&quot; title=&quot;Lire le billet précédent&quot;&gt;justifiant son poste par sa capacité à résoudre les problèmes qu&#039;il a lui-même créés&lt;/a&gt;, vous êtes décidé à bâtir la prochaine application &lt;em&gt;corporate&lt;/em&gt; sur un &lt;em&gt;framework&lt;/em&gt; PHP. En plus des &lt;a href=&quot;/blog/2006-10-02-criteres_de_choix_dun_logiciel_libre&quot; title=&quot;Lire le billet sur les critères de choix d&#039;un logiciel (libre)&quot;&gt;critères de choix&lt;/a&gt; déjà évoqués, vous veillerez à la présence de fonctionnalités qui permettent aux développeurs de se concentrer sur les particularités de l&#039;application, en les libérant de l&#039;écriture des briques de base&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Implémentation du &lt;em&gt;design pattern&lt;/em&gt; MVC&lt;/li&gt;
&lt;li&gt;Présence d&#039;un module de &lt;em&gt;logging&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Contrôle total sur les URLs&lt;/li&gt;
&lt;li&gt;Validation des formulaires&lt;/li&gt;
&lt;li&gt;Gestion des accès aux bases de données&lt;/li&gt;
&lt;li&gt;Implémentation de l&#039;&lt;a href=&quot;/blog/2006-10-09-inversion_de_controle_en_php_comment_ne_pas_limplementer&quot; title=&quot;Lire mon billet sur l&#039;implémentation IoC en PHP&quot;&gt;inversion de contrôle&lt;/a&gt; (IoC)&lt;/li&gt;
&lt;li&gt;Gestion de l&#039;internationalisation&lt;/li&gt;
&lt;li&gt;Système de caching&lt;/li&gt;
&lt;li&gt;Authentification et gestion des profils utilisateurs&lt;/li&gt;
&lt;li&gt;Gestion de la montée en charge&lt;/li&gt;
&lt;li&gt;Prise en compte de la sécurité (cross scripting, code injection, sql injection, vols de session, etc)&lt;/li&gt;
&lt;li&gt;Système de communication entre les modules&lt;/li&gt;
&lt;li&gt;Module Ajax&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;L&#039;examen d&#039;un certain nombre de &lt;em&gt;framework&lt;/em&gt; (&lt;a href=&quot;http://framework.zend.com/&quot; title=&quot;Visiter le site du framework Zend&quot;&gt;Zend Framework&lt;/a&gt;, &lt;a href=&quot;http://www.cakephp.org/&quot; title=&quot;Visiter le site du framework CakePHP&quot;&gt;CakePHP&lt;/a&gt;, &lt;a href=&quot;http://www.symfony-project.com/&quot; title=&quot;Visiter le site du framework Symfony&quot;&gt;Symfony Project&lt;/a&gt;, &lt;a href=&quot;http://seagull.phpkitchen.com/&quot; title=&quot;Visiter le site du framework Seagull&quot;&gt;Seagull Framework&lt;/a&gt;, &lt;a href=&quot;http://www.phpwact.org/&quot; title=&quot;Visiter le site du framework WACT&quot;&gt;WACT&lt;/a&gt;, &lt;a href=&quot;http://phpontrax.com/&quot; title=&quot;Visiter le site du framework PHP on TRAX&quot;&gt;PHP on TRAX&lt;/a&gt;, &lt;a href=&quot;http://zoopframework.com/&quot; title=&quot;Visiter le site du framework ZooP Framework&quot;&gt;ZooP Framework&lt;/a&gt;, &lt;a href=&quot;http://www.navphp.net/&quot; title=&quot;Visiter le site du framework Navigator&quot;&gt;Navigator&lt;/a&gt;, &lt;a href=&quot;http://www.codeigniter.com/&quot; title=&quot;Visiter le site du framework CodeIgniter&quot;&gt;CodeIgniter&lt;/a&gt;) montre que se sont surtout des usines à gaz. Seul &lt;a href=&quot;http://www.codeigniter.com/&quot; title=&quot;Visiter le site du framework CodeIgniter&quot;&gt;CodeIgniter&lt;/a&gt; sort du lot&amp;nbsp;: il est très léger grâce aux modules indépendants, qui ne sont chargés qu&#039;à la demande du contrôleur, mais il a le défaut de la rigidité des URLs. LE &lt;em&gt;framework&lt;/em&gt; MVC est donc plus une collection de composants utilisables au sein d&#039;un micro container. C&#039;est la démarche de &lt;a href=&quot;http://www.codeigniter.com/&quot; title=&quot;Visiter le site du framework CodeIgniter&quot;&gt;CodeIgniter&lt;/a&gt; et de &lt;a href=&quot;http://framework.zend.com/&quot; title=&quot;Visiter le site du framework Zend&quot;&gt;Zend Framework&lt;/a&gt;, bien que ce dernier soit un peu plus complexe.&lt;/p&gt;
&lt;p&gt;L&#039;utilisation d&#039;un &lt;em&gt;framework&lt;/em&gt; nécessite toujours un investissement pour former les développeurs. Cet investissement sera d&#039;autant plus important que le &lt;em&gt;framework&lt;/em&gt; sera complexe. Cette complexité entrainera également des frais plus élevé de maintenance et d&#039;évolution. Dans bien des cas, cet investissement est beaucoup plus rentable s&#039;il est effectué dans le développement d&#039;un micro-noyau maison...&lt;/p&gt;
</description>
 <category domain="http://www.numabilis.com/blog/Ingenierie-web">Ingénierie web</category>
 <category domain="http://www.numabilis.com/blog/Maitrise-d-oeuvre">Maîtrise d&#039;œuvre</category>
 <category domain="http://www.numabilis.com/blog/PHP">PHP</category>
 <pubDate>Wed, 30 May 2007 19:27:58 +0200</pubDate>
</item>
<item>
 <title>Framework PHP MVC : pourquoi s&#039;en passer</title>
 <link>http://www.numabilis.com/blog/2007-01-15-framework_php_mvc_pourquoi_sen_passer</link>
 <description>&lt;p&gt;Beaucoup plus populaire que les &lt;a href=&quot;/blog/2006-10-09-inversion_de_controle_en_php_comment_ne_pas_limplementer&quot; title=&quot;Lire mon pr&amp;eacute;c&amp;eacute;dent billet sur l&#039;impl&amp;eacute;mentation de IoC en PHP&quot;&gt;conteneurs impl&amp;eacute;mentant l&#039;inversion de contr&amp;ocirc;le&lt;/a&gt;, les &lt;em&gt;frameworks&lt;/em&gt; &lt;a href=&quot;http://heim.ifi.uio.no/~trygver/themes/mvc/mvc-index.html&quot; title=&quot;Lire les articles originaux d&amp;eacute;crivant ce design pattern&quot; hreflang=&quot;en&quot;&gt;MVC&lt;/a&gt; (Model-View-Controller ou Mod&amp;egrave;le-Vue-Contr&amp;ocirc;leur) en PHP sont l&amp;eacute;gion. Ils participent de cette attente irrationnelle du monde PHP envers la programmation orient&amp;eacute;e objet et son corollaire, le &lt;a href=&quot;http://fr.wikipedia.org/wiki/Cadre_d%27applications&quot; title=&quot;Lire l&#039;article Framework sur Wikip&amp;eacute;dia&quot; hreflang=&quot;fr&quot;&gt;&lt;em&gt;framework&lt;/em&gt;&lt;/a&gt;. Seul &lt;a href=&quot;http://fr.wikipedia.org/wiki/Rasmus_Lerdorf&quot; title=&quot;Lire la biographie de l&#039;inventeur de PHP sur Wikip&amp;eacute;dia&quot; hreflang=&quot;fr&quot;&gt;Rasmus &lt;span class=&quot;np&quot;&gt;Lerdorf&lt;/span&gt;&lt;/a&gt; semble percevoir le comique de la situation avec son &lt;a href=&quot;http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html&quot; title=&quot;Lire l&#039;article d&amp;eacute;crivant ce framework.&quot; hreflang=&quot;en&quot;&gt;&lt;em&gt;no-framework PHP MVC framework&lt;/em&gt;&lt;/a&gt;. Avant de vous d&amp;eacute;cidez de d&amp;eacute;marrer votre prochain projet avec un tel &lt;em&gt;framework&lt;/em&gt;, consid&amp;eacute;rez d&#039;abord les inconv&amp;eacute;nients suivants&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Une application moins performante.&lt;/strong&gt; Les diverses couches d&#039;abstraction et la panoplie impressionnante de composants accompagnant tout &lt;em&gt;framework&lt;/em&gt; en font un m&amp;eacute;canisme lourd, consommant beaucoup de ressources mat&amp;eacute;rielles. La mise en production peut alors s&#039;accompagner de l&#039;achat, en urgence, d&#039;un syst&amp;egrave;me de cache performant pour rem&amp;eacute;dier aux performance d&amp;eacute;plorables. Rappelons-nous des &lt;a href=&quot;http://fr.wikipedia.org/wiki/G%C3%A9oportail#Difficult.C3.A9s_de_lancement&quot; title=&quot;Lire la description que donne Wikip&amp;eacute;dia du lancement du G&amp;eacute;oPortail&quot; hreflang=&quot;fr&quot;&gt;difficult&amp;eacute;s de lancement&lt;/a&gt; du &lt;a href=&quot;http://www.geoportail.fr/&quot; title=&quot;visiter le site du G&amp;eacute;oPortail&quot; hreflang=&quot;fr&quot;&gt;G&amp;eacute;oPortail&lt;/a&gt; ou plus r&amp;eacute;cemment les &lt;a href=&quot;http://ljouanneau.com/blog/2007/01/03/626-prix-carburants-avec-copix&quot; title=&quot;Lire le billet de Laurent Jouanneau sur ce sujet&quot; hreflang=&quot;fr&quot;&gt;d&amp;eacute;buts difficiles&lt;/a&gt; du &lt;a hef=&quot;http://www.prix-carburants.gouv.fr/&quot; title=&quot;Aller sur le site du comparateur de prix des carburants&quot; hreflang=&quot;fr&quot;&gt;comparateur de prix des carburants&lt;/a&gt; du &lt;a href=&quot;http://www.minefi.gouv.fr/&quot; title=&quot;Aller sur le site du Minist&amp;egrave;re de l&#039;&amp;Eacute;conomie, des finances et de l&#039;industrie&quot; hreflang=&quot;fr&quot;&gt;Minefi&lt;/a&gt;.
&lt;li&gt;&lt;strong&gt;Co&amp;ucirc;t de d&amp;eacute;veloppement accrus.&lt;/strong&gt; La complexit&amp;eacute; du framework induit des salaires plus &amp;eacute;lev&amp;eacute;s pour les d&amp;eacute;veloppeurs sp&amp;eacute;cialis&amp;eacute;s en raison de leur raret&amp;eacute; ou des frais de formation (ou de perte de productivit&amp;eacute;) pour les autres d&amp;eacute;veloppeurs. Ajoutez les frais de formation &amp;agrave; un nouveau langage de script si le &lt;em&gt;framework&lt;/em&gt; s&#039;appuie sur un moteur de template style &lt;a href=&quot;http://smarty.php.net/&quot; title=&quot;Visiter le site de Smarty&quot; hreflang=&quot;en&quot;&gt;Smarty&lt;/a&gt;, tr&amp;egrave;s &amp;agrave; la mode chez les d&amp;eacute;veloppeurs PHP. Ces moteurs n&#039;ont aucune utilit&amp;eacute; (si ce n&#039;est de complexifier le d&amp;eacute;veloppement) comme le montre bien l&#039;article &lt;a href=&quot;http://www.digital-web.com/articles/php_for_designers/&quot; title=&quot;Lire l&#039;article PHP for designers&quot;&gt;PHP for designers&lt;/a&gt; de &lt;a href=&quot;http://photomatt.net/&quot; title=&quot;Visiter le site de Matt Mullenweg&quot;&gt;Matt Mullenweg&lt;/a&gt; (co-fondateur et d&amp;eacute;veloppeur principal de &lt;a href=&quot;http://wordpress.com/&quot; title=&quot;Visiter le site de Wordpress&quot;&gt;WordPress&lt;/a&gt;). Seule compte la &lt;a href=&quot;/blog/2006-10-16-au_dela_de_mvc_2&quot; title=&quot;Lire mon pr&amp;eacute;c&amp;eacute;dent billet sur MVC et la s&amp;eacute;paration des pr&amp;eacute;occupations&quot;&gt;s&amp;eacute;paration des pr&amp;eacute;occupations&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Une application brid&amp;eacute;e.&lt;/strong&gt; Une autre cons&amp;eacute;quence de la complexit&amp;eacute; d&#039;un &lt;em&gt;framework&lt;/em&gt; est la difficult&amp;eacute; de l&#039;&amp;eacute;tendre ou de l&#039;adapter &amp;agrave; ses besoins particuliers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Une application ne r&amp;eacute;pondant pas aux besoins des utilisateurs.&lt;/strong&gt; La plupart des &lt;em&gt;framework&lt;/em&gt; font des choix radicaux en termes de conception gr&amp;eacute;vant les fonctionnalit&amp;eacute;s de l&#039;application. L&#039;exemple le plus simple&amp;nbsp;: l&#039;&lt;em&gt;URL rewriting&lt;/em&gt;. L&#039;URL d&#039;une page est g&amp;eacute;n&amp;eacute;ralement de la forme &lt;code&gt;http://my.web.com/module/action/params&lt;/code&gt; pour invoquer l&#039;action &lt;code&gt;action&lt;/code&gt; du module &lt;code&gt;module&lt;/code&gt;. Aussi lorsque l&#039;on souhaite cr&amp;eacute;er un site web dont les URLs repr&amp;eacute;sentent l&#039;architecture fonctionnelle du site, cela s&#039;av&amp;egrave;re tr&amp;egrave;s compliqu&amp;eacute;&amp;nbsp;! Ainsi au lieu d&#039;avoir l&#039;URL &lt;code&gt;http://www.numabilis.com/services/realisation_de_sites_web&lt;/code&gt; on a quelque chose comme &lt;code&gt;http://www.numabilis.com/article/view/id/35&lt;/code&gt;. Le module de r&amp;eacute;&amp;eacute;criture fourni est g&amp;eacute;n&amp;eacute;ralement insuffisant&amp;nbsp;: les sections &lt;em&gt;Services&lt;/em&gt; et &lt;em&gt;R&amp;eacute;alisations&lt;/em&gt; &amp;eacute;tant toutes deux constitu&amp;eacute;es d&#039;articles, la r&amp;eacute;&amp;eacute;criture ne permet pas de distingu&amp;eacute;s les articles de ces deux sections&amp;nbsp;! Comme souvent &lt;strong&gt;les couches techniques imposent des contraintes fortes sur le fonctionnel&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Les &lt;em&gt;frameworks&lt;/em&gt; PHP, dans leur tr&amp;egrave;s grande majorit&amp;eacute;, souffrent d&#039;une trop grande complexit&amp;eacute;. Ils singent le monde Java (voir les impl&amp;eacute;mentations PHP de Struts&amp;nbsp;: &lt;a href=&quot;https://www.phrame.org/&quot; title=&quot;Visiter le site du framework Phrame&quot;&gt;Phrame&lt;/a&gt;, &lt;a href=&quot;http://www.phpmvc.net/&quot; title=&quot;Visiter le site du framework PhpMVC&quot;&gt;PhpMVC&lt;/a&gt; ou &lt;a href=&quot;http://www.mojavelinux.com/projects/studs/&quot; title=&quot;Visiter le site du framework Studs&quot;&gt;Studs&lt;/a&gt;) en faisant du &lt;strong&gt;tout objet&lt;/strong&gt; avec force renfort de &lt;a href=&quot;http://en.wikipedia.org/wiki/Template_engine&quot; title=&quot;Lire l&#039;article sur template engine sur Wikip&amp;eacute;dia&quot; hreflang=&quot;en&quot;&gt;&lt;em&gt;template engine&lt;/em&gt;&lt;/a&gt; et de &lt;a href=&quot;http://www.modrewrite.com/&quot; title=&quot;Visiter le site du module apache mod_rewrite&quot; hreflang=&quot;en&quot;&gt;&lt;em&gt;mod_rewrite&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Par cons&amp;eacute;quent, sauf si vous &amp;ecirc;tes chef de projet dans une grosse structure, dont le poste n&#039;est justifi&amp;eacute; que par votre capacit&amp;eacute; &amp;agrave; r&amp;eacute;soudre les probl&amp;egrave;mes que vous avez vous m&amp;ecirc;me cr&amp;eacute;&amp;eacute;s, vous devriez vous passer d&#039;un tel &lt;em&gt;framework&lt;/em&gt;.&lt;/p&gt;
&lt;center&gt;&lt;br&gt;&lt;a href=&quot;http://blaugh.com/2006/09/20/veni-vidi-wiki/&quot; title=&quot;Voir le billet original&quot;&gt;&lt;img title=&quot;Veni Vidi Wiki&quot; alt=&quot;Dessin humoristique Veni Vidi Wiki&quot; src=&quot;/files/pictures/blaugh_060920_dyslexic_wiki_kiwi.gif&quot; height=&quot;250&quot; width=&quot;447&quot;&gt;&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://blaugh.com/2006/09/20/veni-vidi-wiki/&quot; hreflang=&quot;en&quot; title=&quot;Voir le billet original&quot;&gt;Veni Vidi Wiki&lt;/a&gt; (dessin de &lt;a href=&quot;http://bradfitzpatrick.com/weblog/&quot; title=&quot;Visiter le blog de Brad Fitzpatrick&quot; hreflang=&quot;en&quot;&gt;Brad Fitzpatrick&lt;/a&gt;)&lt;/center&gt;
&lt;div style=&quot;visibility: hidden&quot;&gt;
&lt;a href=&quot;http://www.technorati.com/claim/a744kfxee&quot; rel=&quot;me&quot;&gt;Technorati Profile&lt;/a&gt;
&lt;/div&gt;
</description>
 <category domain="http://www.numabilis.com/blog/Ingenierie-web">Ingénierie web</category>
 <category domain="http://www.numabilis.com/blog/Maitrise-d-oeuvre">Maîtrise d&#039;œuvre</category>
 <category domain="http://www.numabilis.com/blog/PHP">PHP</category>
 <pubDate>Mon, 15 Jan 2007 21:41:56 +0100</pubDate>
</item>
<item>
 <title>Au-delà de MVC(2)</title>
 <link>http://www.numabilis.com/blog/2006-10-16-au_dela_de_mvc_2</link>
 <description>&lt;p&gt;
Le &lt;em&gt;design pattern&lt;/em&gt; &lt;a href=&quot;http://www.andywardley.com/computers/web/mvc.html&quot; title=&quot;Lire l&#039;article d&#039;Andy Wardley sur MVC&quot; hreflang=&quot;en&quot;&gt;MVC&lt;/a&gt; est très à la mode dans le monde PHP. Beaucoup d&#039;articles le présentent, mais peu en font comprendre l&#039;essence. Ils passent généralement à côté de l&#039;essentiel : la &lt;strong&gt;séparation des préoccupations&lt;/strong&gt;.
&lt;center&gt;
&lt;a href=&quot;http://flickr.com/photos/dotpolka/83025846/in/photostream&quot; title=&quot;what happened here? photo de dotpolka sur flickr&quot;&gt;&lt;img src=&quot;/files/pictures/police_line_do_not_cross.jpg&quot; alt=&quot;&quot;/&gt;&lt;/a&gt;
&lt;br /&gt;&lt;strong&gt;MVC&amp;nbsp;: la séparation des préoccupations&lt;/strong&gt;
&lt;/center&gt;
&lt;/p&gt;
</description>
 <category domain="http://www.numabilis.com/blog/Ingenierie-web">Ingénierie web</category>
 <category domain="http://www.numabilis.com/blog/PHP">PHP</category>
 <pubDate>Mon, 16 Oct 2006 17:19:31 +0200</pubDate>
</item>
<item>
 <title>Inversion de contrôle en PHP : comment ne pas l&#039;implémenter</title>
 <link>http://www.numabilis.com/blog/2006-10-09-inversion_de_controle_en_php_comment_ne_pas_limplementer</link>
 <description>&lt;div class=&quot;portfolio&quot;&gt;&lt;a href=&quot;http://www.sxc.hu/photo/460791/&quot; title=&quot;Voir la présentation de l&#039;image&quot;&gt;&lt;img width=&quot;105&quot; height=&quot;79&quot; src=&quot;/files/pictures/ioc_remote_control.png&quot; alt=&quot;&quot; class=&quot;portfolio&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;
L&#039;&lt;a href=&quot;http://fr.wikipedia.org/wiki/Inversion_de_contr%C3%B4le&quot; title=&quot;Lire l&#039;article Inversion de contrôle sur Wikipédia&quot; hreflang=&quot;fr&quot;&gt;inversion de contrôle&lt;/a&gt; (&lt;a href=&quot;http://www.martinfowler.com/articles/injection.html&quot; title=&quot;Lire l&#039;article de Martin Fowler&quot; hreflang=&quot;en&quot;&gt;&lt;em&gt;Inversion of Control&lt;/em&gt;&lt;/a&gt;, &lt;em&gt;IoC&lt;/em&gt;) est un &lt;a href=&quot;http://fr.wikipedia.org/wiki/Motif_de_conception&quot; title=&quot;Lire l&#039;article Motif de conception sur Wikipédia&quot; hreflang=&quot;fr&quot;&gt;motif de conception&lt;/a&gt; (&lt;em&gt;design pattern&lt;/em&gt;) devenu populaire, ces dernières années, avec l&#039;adoption des conteneurs légers comme &lt;a href=&quot;http://www.springframework.org&quot; title=&quot;Visiter le site de SpringFramework&quot; hreflang=&quot;en&quot;&gt;SpringFramework&lt;/a&gt;. Entendant leurs mérites tant vantés par les développeurs Java, des adeptes de PHP se sont fait un devoir d&#039;implémenter un tel conteneur dans leur langage de prédilection. On trouve ainsi&amp;nbsp;: &lt;a href=&quot;http://drip.tigris.org/&quot; title=&quot;Visiter le site du projet Drip&quot; hreflang=&quot;en&quot;&gt;Drip&lt;/a&gt;, &lt;a href=&quot;http://garden.tigris.org/&quot; title=&quot;Visiter le site du projet Garden&quot; hreflang=&quot;en&quot;&gt;Garden&lt;/a&gt;, &lt;a href=&quot;http://solarphp.com/index.php/docs/read/Solar/dependency()&quot; title=&quot;Visiter la page IoC du projet Solar&quot; hreflang=&quot;en&quot;&gt;Solar&lt;/a&gt;, &lt;a href=&quot;http://sourceforge.net/projects/phemto/&quot; title=&quot;Visiter le site du projet Phemto&quot; hreflang=&quot;en&quot;&gt;Phemto&lt;/a&gt;, &lt;a href=&quot;http://www.seasar.org/en/&quot; title=&quot;Visiter le site du projet Seasar&quot; hreflang=&quot;en&quot;&gt;Seasar&lt;/a&gt;, &lt;a href=&quot;http://garden.clawphp.org/&quot; title=&quot;Visiter le site du projet ClawPHP&quot; hreflang=&quot;en&quot;&gt;ClawPHP&lt;/a&gt; et même &lt;a href=&quot;http://www.phpwact.org/roadmap#modularization_and_dependency_injection_support&quot; title=&quot;Visiter la page évoquant l&#039;IoC du projet WACT&quot; hreflang=&quot;en&quot;&gt;WACT&lt;/a&gt;. C&#039;est à mon avis alourdir considérablement le développement pour faire quelque chose que PHP sait faire naturellement. Je vous propose donc de &lt;strong&gt;découvrir ce qu&#039;est l&#039;inversion de controle et comment la mettre en place en PHP sans même l&#039;implémenter concrètement.&lt;/strong&gt;
&lt;/p&gt;
</description>
 <category domain="http://www.numabilis.com/blog/Ingenierie-web">Ingénierie web</category>
 <category domain="http://www.numabilis.com/blog/PHP">PHP</category>
 <pubDate>Mon, 09 Oct 2006 00:29:59 +0200</pubDate>
</item>
</channel>
</rss>
