<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://www.numabilis.com">
<channel>
 <title>Numabilis - Maîtrise d&#039;œuvre</title>
 <link>http://www.numabilis.com/taxonomy/term/5/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>Comment sauvegarder automatiquement une base de données MySQL à distance</title>
 <link>http://www.numabilis.com/blog/2007-02-20-comment_sauvegarder_automatiquement_une_base_de_donnees_mysql_a_distance</link>
 <description>&lt;p&gt;Lorsque son site est hébergé sur un serveur auquel on n&#039;a pas d&#039;accès &lt;a href=&quot;http://fr.wikipedia.org/wiki/Secure_shell&quot; title=&quot;Lire l&#039;article Secure Shell sur Wikipédia&quot; hreflang=&quot;fr&quot;&gt;SSH&lt;/a&gt; (&lt;a href=&quot;http://free.fr/&quot; title=&quot;Aller sur le site de Free&quot; hreflang=&quot;fr&quot;&gt;Free&lt;/a&gt; par exemple), il est quand même possible de sauvegarder sa base de données &lt;a href=&quot;http://www.mysql.fr/&quot; title=&quot;Visiter le site francophone de MySQL&quot; hreflang=&quot;fr&quot;&gt;MySQL&lt;/a&gt; automatiquement et à distance.&lt;/p&gt;
&lt;p&gt;
Pour cela il faut disposer&amp;nbsp;:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;de &lt;a href=&quot;http://www.phpmyadmin.net/&quot; title=&quot;Aller sur le site de phpMyAdmin&quot; hreflang=&quot;en&quot;&gt;phpMyAdmin&lt;/a&gt; installé sur le serveur (c&#039;est le cas chez Free),&lt;/li&gt;
&lt;li&gt;de &lt;a href=&quot;http://www.gnu.org/software/wget/wget.html&quot; title=&quot;Visiter la page du projet Wget&quot; hreflang=&quot;en&quot;&gt;Wget&lt;/a&gt; installé sur le poste à partir duquel doit se faire la sauvegarde.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Il suffit alors d&#039;exécuter la commande&amp;nbsp;:
&lt;/p&gt;
&lt;div class=&quot;code&quot;&gt;wget --http-user=USER --http-passwd=PASSWORD --post-file=export.txt -O FICHIER http://phpmyadmin.free.fr/phpMyAdmin/export.php&lt;/div&gt;
&lt;p&gt;En remplaçant &lt;tt&gt;USER&lt;/tt&gt; par votre login, &lt;tt&gt;PASSWORD&lt;/tt&gt; par votre mot de passe et &lt;tt&gt;FICHIER&lt;/tt&gt; par le nom du fichier dans lequel vous souhaiter sauvegarder votre base. &lt;tt&gt;export.txt&lt;/tt&gt; est un fichier contenant les paramètres de la requête envoyée au serveur&amp;nbsp;:&lt;/p&gt;
&lt;div class=&quot;code&quot;&gt;what=sql&amp;asfile=sendit&amp;export_type=server&amp;sql_structure=structure&amp;sql_type=insert&amp;sql_data=data&amp;auto_increment=1&amp;use_backquotes=1&lt;/div&gt;
&lt;p&gt;Selon le type d&#039;export voulu, il faudra fournir les bons paramètres. Afin de les déterminer précisément, l&#039;extension &lt;a href=&quot;https://addons.mozilla.org/firefox/3829/&quot; title=&quot;Télécharger l&#039;extension firefox Live HTTP Headers&quot; hreflang=&quot;en&quot;&gt;Live HTTP Headers&lt;/a&gt; pour &lt;a href=&quot;http://www.mozilla-europe.org/fr/products/firefox/&quot; title=&quot;Aller sur la page du navigateur web Firefox&quot; hreflang=&quot;fr&quot;&gt;Firefox&lt;/a&gt; est d&#039;un grand secours. Pour automatiser la procédure, il suffit d&#039;ajouter la commande à la liste des tâche à lancer par &lt;a href=&quot;http://fr.wikipedia.org/wiki/Cron&quot; title=&quot;Lire l&#039;article de Wikipédia sur le programme Cron&quot; hreflang=&quot;fr&quot;&gt;cron&lt;/a&gt; (ou son équivalent sur un autre OS).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Édition 02/08/2007 :&lt;/strong&gt; Lionel, un lecteur me signal la possibilité de passer par le service de &lt;em&gt;backup&lt;/em&gt; de Free&amp;nbsp;:&lt;/p&gt;
&lt;div class=&quot;code&quot;&gt;wget http://sql.free.fr/backup.php --post-data=&quot;login=USER&amp;password=PASSWORD&amp;check=1&amp;all=1&quot; -O backup.sql.gz&lt;/div&gt;
&lt;p&gt;Merci Lionel.&lt;/p&gt;
</description>
 <category domain="http://www.numabilis.com/blog/Administration-systeme">Administration système</category>
 <category domain="http://www.numabilis.com/blog/Maitrise-d-oeuvre">Maîtrise d&#039;œuvre</category>
 <pubDate>Tue, 20 Feb 2007 21:14:44 +0100</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>Le Monde parle de &quot;mon&quot; projet !</title>
 <link>http://www.numabilis.com/blog/2006-12-23-le_monde_parle_de_mon_projet</link>
 <description>&lt;p&gt;
&lt;img src=&quot;/files/pictures/logo_le_monde.png&quot; class=&quot;showcase-left&quot; alt=&quot;Logo du Monde&quot; /&gt;
Dans son édition de mardi dernier, &lt;a href=&quot;http://lemonde.fr/&quot; title=&quot;Visiter le site du journal Le Monde&quot;&gt;Le Monde&lt;/a&gt; a publié un article évoquant le projet que je dirige à l&#039;&lt;a href=&quot;http://www.afp.fr&quot; title=&quot;Visiter le site de l&#039;Agence France Press&quot;&gt;Agence France Presse&lt;/a&gt;. J&#039;ai commencé cette mission début novembre et un premier prototype a été présenté au PDG, &lt;a href=&quot;http://fr.wikipedia.org/wiki/Pierre_Louette&quot; title=&quot;Lire l&#039;article Pierre Louette sur Wikipédia&quot;&gt;Pierre &lt;span class=&quot;np&quot;&gt;Louette&lt;/span&gt;&lt;/a&gt;, ce même mardi 19 décembre. Je ne sais pas si l&#039;interview a eu lieu avant ou après, mais je sais, qu&#039;il est très satisfait de ce premier résultat.
&lt;/p&gt;
&lt;div class=&quot;cite&quot;&gt;
Ultime innovation&amp;nbsp;: le PDG souhaite lancer l&#039;AFP vers le grand public, au risque d&#039;entrer en concurrence avec ses propres clients. L&#039;agence veut se doter d&#039;un site Internet, hébergeur de blogs, où se retrouveraient journalistes professionnels et journalistes &amp;laquo;&amp;nbsp;citoyens&amp;nbsp;&amp;raquo;, images d&#039;agence et vidéos d&#039;internautes. Ce site, &amp;laquo;&amp;nbsp;&lt;em&gt;en anglais, sera testé en Asie et aux Etats-Unis, pas en France...&lt;/em&gt;&amp;nbsp;&amp;raquo;, précise prudemment M. Louette.&lt;br /&gt;&lt;br /&gt;
Extrait de &lt;strong&gt;&amp;laquo;&amp;nbsp;&lt;em&gt;L&#039;AFP a gagné 3 millions d&#039;euros en 2006&lt;/em&gt;&amp;nbsp;&amp;raquo;, Le Monde du 19 décembre 2006&lt;/strong&gt;.
&lt;/div&gt;
&lt;p&gt;
Même si la description donnée est assez réductrice, et que nous ne faisons pour le moment qu&#039;un prototype, cela fait vraiment plaisir...
&lt;/p&gt;
</description>
 <category domain="http://www.numabilis.com/blog/Maitrise-d-oeuvre">Maîtrise d&#039;œuvre</category>
 <pubDate>Sat, 23 Dec 2006 15:19:31 +0100</pubDate>
</item>
<item>
 <title>Critères de choix d&#039;un logiciel (libre)</title>
 <link>http://www.numabilis.com/blog/2006-10-02-criteres_de_choix_dun_logiciel_libre</link>
 <description>&lt;p&gt;Comme le montrent régulièrement &lt;a href=&quot;http://blog2.lemondeinformatique.fr/management_du_si/&quot; title=&quot;Visiter le blog de Bertrand Lemaire&quot; hreflang=&quot;fr&quot;&gt;Bertrand &lt;span class=&quot;np&quot;&gt;Lemaire&lt;/a&gt; ou &lt;a href=&quot;http://nauges.typepad.com/my_weblog/&quot; title=&quot;Visiter le blog de Louis Naugès&quot; hreflang=&quot;fr&quot;&gt;Louis &lt;span class=&quot;np&quot;&gt;Naugès&lt;/a&gt;, les décideurs choisissent trop souvent leurs logiciels en fonction de deux critères principaux&amp;nbsp;: couverture fonctionnelle et notoriété de l&#039;éditeur. (Voir par exemple les billets &lt;a href=&quot;http://blog2.lemondeinformatique.fr/management_du_si/2006/09/diatribe_la_par.html&quot; title=&quot;Lire le billet de Bertrand Lemaire&quot; hreflang=&quot;fr&quot;&gt;Diatribe à la Paresse&lt;/a&gt; ou &lt;a href=&quot;http://nauges.typepad.com/my_weblog/2006/09/to_vista_or_not.html&quot; title=&quot;Lire le billet de Louis Naugès&quot; hreflang=&quot;fr&quot;&gt;To Vista or not to Vista, that is the question !&lt;/a&gt;.) Ce deuxième critère disparaissant, dans le cas des logiciels libres, on comprend mieux pourquoi, leur adoption est si lente en entreprise. Pourtant toute solution logicielle devrait être évaluée selon une grille de critères indépendants de sa caractéristique libre ou propriétaire. Voici quelques pistes.&lt;/p&gt;

&lt;p&gt;Bien qu&#039;il soit assez facile d&#039;établir une liste de critères subjectifs (simple, ergonomique, etc), ceux-ci ne permettent généralement pas d&#039;évaluer objectivement (autant que possible) les solutions disponibles. Pourtant, seule &lt;strong&gt;une évaluation objective s&#039;appuyant sur des paramètres mesurables&lt;/strong&gt; peut minimiser notre subjectivité. Pour dresser une telle liste de paramètres, nous partons des critères subjectifs que nous traduirons ensuite en une métrique. Par exemple, la liste suivante&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Simplicité d&#039;apprentissage et de mise en oeuvre&lt;/li&gt;
&lt;li&gt;Simplicité d&#039;adaption à ses besoins : simple à étendre sans modification.&lt;/li&gt;
&lt;li&gt;Fonctionnalités requises et souhaitées pour le projet&lt;/li&gt;
&lt;li&gt;Interopérabilité&lt;/li&gt;
&lt;li&gt;Stabilité&lt;/li&gt;
&lt;li&gt;Pérennité&lt;/li&gt;
&lt;li&gt;Qualité du support&lt;/li&gt;
&lt;li&gt;Licence adaptée au projet&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La satisfaction de ces critères peut être évaluée en mesurant des grandeurs plus objectives&amp;nbsp;:&lt;br /&gt;
Sur le plan technique&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Simplicité de la conception : nombre de classes, de fichier, de lignes de code, etc.&lt;/li&gt;
&lt;li&gt;Degré de modularité&amp;nbsp;: nombre de modules (ou plugins), indépendance entre eux.&lt;/li&gt;
&lt;li&gt;Utilisation de normes&amp;nbsp;: Design Patterns, charte de codage, etc.&lt;/li&gt;
&lt;li&gt;Respect des standards et des formats ouverts&amp;nbsp;: formats d&#039;entrée/sortie, protocoles de communications, etc.&lt;/li&gt;
&lt;li&gt;Légèreté de la solution&amp;nbsp;: emprunte mémoire, rapidité d&#039;exécution.&lt;/li&gt;
&lt;li&gt;Fiabilité et stabilité&amp;nbsp;: nombre d&#039;erreurs en stress test, nombre de bugs présents/corrigés sur le tracker.&lt;/li&gt;
&lt;li&gt;Importance de la documentation&amp;nbsp;: API (via un générateur de documentation), manuels, guide, tutoriel.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Sur le plan humain&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Taille de la communauté&amp;nbsp;: développeurs, utilisateurs, organismes et sociétés de soutien.&lt;/li&gt;
&lt;li&gt;Efficacité du support&amp;nbsp;: forum, mailing list, etc.&lt;/li&gt;
&lt;li&gt;Ancienneté de la solution, maturité.&lt;/li&gt;
&lt;li&gt;Visibilité&amp;nbsp;: nombre de citation google par exemple.&lt;/li&gt;
&lt;li&gt;Références&amp;nbsp;: acteurs et projets utilisant la solution.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Toute étude menée pour choisir une solution devrait dresser la liste des critères subjectifs puis objectifs guidant le choix. L&#039;étude doit ensuite concevoir la métrique à partir de ces critères plutôt que de se servir d&#039;une grille &lt;em&gt;standard&lt;/em&gt; qui sert à tous les projets. Et malgré cela, des facteurs subjectifs non mesurables auront toujours un grand rôle dans le choix...&lt;/p&gt;
</description>
 <category domain="http://www.numabilis.com/blog/Aide-a-la-decision">Aide à la décision</category>
 <category domain="http://www.numabilis.com/blog/Conseil">Conseil</category>
 <category domain="http://www.numabilis.com/blog/Maitrise-d-oeuvre">Maîtrise d&#039;œuvre</category>
 <pubDate>Mon, 02 Oct 2006 10:29:42 +0200</pubDate>
</item>
</channel>
</rss>
