<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://www.unelectronlibre.info/index.php/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/">
<channel>
  <title>Un Electron Libre... - gestion de projet</title>
  <link>http://www.unelectronlibre.info/index.php/</link>
  <description>Bloc-notes de Nicolas Steinmetz</description>
  <language>fr</language>
  <pubDate>Tue, 01 Jul 2008 22:32:32 +0200</pubDate>
  <copyright>Creative Commons NC-BY-SA</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Nginx, Redmine et PostgreSQL</title>
    <link>http://www.unelectronlibre.info/index.php/post/2008/05/01/Nginx-Redmine-et-PostgreSQL</link>
    <guid isPermaLink="false">urn:md5:8e336aadda997e0890d54f06b874fe5a</guid>
    <pubDate>Thu, 01 May 2008 22:03:00 +0200</pubDate>
    <dc:creator>NiCoS</dc:creator>
        <category>Trucs de geek</category>
        <category>debian</category><category>gestion de projet</category><category>nginx</category><category>postgresql</category><category>rails</category><category>redmine</category><category>ubuntu</category>    
    <description>    &lt;p&gt;Cela a été testé sur une Ubuntu &amp;quot;Hardy 08.04&amp;quot; &amp;amp; Debian &amp;quot;Testing/Lenny&amp;quot;. Les utilisateurs d'Ubuntu rajouteront un sudo aux endroits qui vont bien &lt;img src=&quot;/themes/default/smilies/smile.png&quot; alt=&quot;:-)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;h2&gt;Pré-requis&lt;/h2&gt;


&lt;h3&gt;Installons le socle de base&lt;/h3&gt;

&lt;pre&gt;aptitude install nginx ruby rubygems ruby-pkg-tools ruby1.8-dev build-essential postgresql&lt;/pre&gt;


&lt;p&gt;Utilisons ensuite les gems pour installer les &amp;quot;paquets&amp;quot; ruby dont on a besoin :&lt;/p&gt;

&lt;pre&gt;
gem install rails mongrel mongrel_cluster postgres-pr --include-dependencies
&lt;/pre&gt;


&lt;p&gt;Dans &lt;code&gt;~/.bash_profile&lt;/code&gt; ou ailleurs (&lt;code&gt;/etc/profile&lt;/code&gt;, &lt;code&gt;/etc/environment&lt;/code&gt;, etc) tant qu'au final, ce bout de chemin soit ajouté à votre &lt;code&gt;PATH&lt;/code&gt;.&lt;/p&gt;

&lt;pre&gt;export PATH=&amp;quot;$PATH:/var/lib/gems/1.8/bin&amp;quot;&lt;/pre&gt;


&lt;h3&gt;Création de la base postgresql&lt;/h3&gt;


&lt;p&gt;Nous allons d'abord changer un paramètre d'authentification de postgres en éditant le fichier @@
/etc/postgresql//8.3/main/pg_hba.conf@@ afin d'avoir la ligne suivante :&lt;/p&gt;

&lt;pre&gt;local   all         all                               md5&lt;/pre&gt;


&lt;p&gt;Redémarrez ensuite postgresql pour que votre modification soit prise en compte :&lt;/p&gt;

&lt;pre&gt;/etc/init.d/postgresql-8.3 restart&lt;/pre&gt;


&lt;p&gt;En root, devenez l'utilisateur &amp;quot;postgres&amp;quot;, compte technique d'administration de postgres :&lt;/p&gt;

&lt;pre&gt;su postgres&lt;/pre&gt;


&lt;p&gt;Créer un utilisateur redmine et une base redmine&lt;/p&gt;

&lt;pre&gt;createuser redmine --no-superuser --no-createdb --no-createrole --login --pwprompt --encrypted
(pour le tutoriel, j'ai pris le mot de passe redmine)
createdb --owner=redmine --encoding=utf-8 redmine
exit&lt;/pre&gt;


&lt;p&gt;Pour tester votre compte :&lt;/p&gt;

&lt;pre&gt;psql -U redmine redmine&lt;/pre&gt;


&lt;h2&gt;Installation de Redmine&lt;/h2&gt;


&lt;h3&gt;Récupération de Redmine&lt;/h3&gt;


&lt;p&gt;Même si la &lt;a href=&quot;http://www.redmine.org/news/show/14&quot;&gt;version 0.7 de Redmine est sortie il y a quelques jours&lt;/a&gt;, un bug fait qu'il vaut mieux attendre la version 0.7.1...&lt;/p&gt;


&lt;p&gt;J'utilise donc la branche 0.6-stable pour ce tutoriel et je récupère le tout par svn. A vous d'adapter selon votre besoin et votre expérience&lt;/p&gt;

&lt;pre&gt;cd /srv/rails/ 
(adapter ce chemin à l'endroit où vous voulez mettre redmine, pas besoin que ce soit dans /var/www)
svn co http://redmine.rubyforge.org/svn/branches/0.6-stable redmine-0.6&lt;/pre&gt;


&lt;h3&gt;Configuration de la base de données&lt;/h3&gt;


&lt;p&gt;Créer le fichier &lt;code&gt;config/database.yml&lt;/code&gt;...&lt;/p&gt;

&lt;pre&gt;cp config/database.yml.example config/database.yml&lt;/pre&gt;


&lt;p&gt;... avec le contenu suivant :&lt;/p&gt;

&lt;pre&gt;
production:
  adapter: postgresql
  database: redmine
  host: localhost
  username: redmine
  password: &amp;quot;redmine&amp;quot;
&lt;/pre&gt;


&lt;h3&gt;Remplissez la base&lt;/h3&gt;


&lt;p&gt;Au niveau du répertoire de redmine :&lt;/p&gt;

&lt;pre&gt;rake db:migrate RAILS_ENV=&amp;quot;production&amp;quot;
rake redmine:load_default_data RAILS_ENV=&amp;quot;production&amp;quot;&lt;/pre&gt;


&lt;h3&gt;Test de bon fonctionnement&lt;/h3&gt;


&lt;p&gt;Toujours depuis le répertoire de redmine :&lt;/p&gt;

&lt;pre&gt;mongrel_rails start --environment=production&lt;/pre&gt;


&lt;p&gt;En vous rendant sur &lt;a href=&quot;http://localhost:3000/&quot; title=&quot;http://localhost:3000/&quot;&gt;http://localhost:3000/&lt;/a&gt;, vous devriez voir une instance redmine tourner et pouvoir vous y connecter avec les identifiants admin/admin.&lt;/p&gt;


&lt;h3&gt;Mise en place du cluster mongrel&lt;/h3&gt;


&lt;p&gt;Note : je voulais faire tourner redmine via fastcgi mais j'ai rien trouvé à ce sujet. Tous les tutoriels sont basés sur mongrel donc je fais comme les autres...&lt;/p&gt;


&lt;p&gt;Créer le fichier &lt;code&gt;config/mongrel_cluster.yml&lt;/code&gt; dans le répertoire Redmine :&lt;/p&gt;

&lt;pre&gt;
user: vous
cwd: /srv/rails/redmine-0.6
port: &amp;quot;9000&amp;quot;
environment: production
group: vous
address: 0.0.0.0
pid_file: log/mongrel.pid
servers: 2
&lt;/pre&gt;


&lt;p&gt;et lancer le cluster :&lt;/p&gt;

&lt;pre&gt;
mongrel_rails cluster::start
&lt;/pre&gt;


&lt;p&gt;Vous devriez pouvoir accéder à votre instance redmine via &lt;a href=&quot;http://localhost:9000/&quot; title=&quot;http://localhost:9000/&quot;&gt;http://localhost:9000/&lt;/a&gt; et &lt;a href=&quot;http://localhost:9001/&quot; title=&quot;http://localhost:9001/&quot;&gt;http://localhost:9001/&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;Faire en sorte que le cluster démarre lors du démarrage de votre pc/serveur :&lt;/h3&gt;

&lt;pre&gt;mkdir /etc/mongrel_cluster
ln -s /srv/rails/redmine-0.6/config/mongrel_cluster.yml /etc/mongrel_cluster/redmine.yml
cp /var/lib/gems/1.8/gems/mongrel_cluster-1.0.5/resources/mongrel_cluster /etc/init.d/
chmod +x /etc/init.d/mongrel_cluster
update-rc.d mongrel_cluster defaults&lt;/pre&gt;


&lt;h2&gt;Configuration de nginx&lt;/h2&gt;


&lt;p&gt;Dernière étape, accéder à votre instance redmine sur le port 80 via nginx :&lt;/p&gt;


&lt;p&gt;Dans &lt;code&gt;/etc/nginx/sites-available/&lt;/code&gt; ajouter un fichier &amp;quot;redmine&amp;quot; par ex contenant :&lt;/p&gt;

&lt;pre&gt;
server {
        listen 80;
        server_name localhost;
        root /srv/rails/redmine-0.6/public;

        location / {
                proxy_set_header  X-Real-IP  $remote_addr;
                proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
                proxy_redirect false;
                proxy_read_timeout 300;

                if (-f $request_filename/index.html) {
                        rewrite (.*) $1/index.html break;
                }

                if (-f $request_filename.html) {
                        rewrite (.*) $1.html break;
                }

                if (-f $request_filename.txt) {
                        rewrite (.*) $1.txt break;
                }

                proxy_pass http://127.0.0.1:9000/;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
                root html;
        }

        access_log /var/log/nginx/redmine.access.log;
        error_log /var/log/nginx/redmine.error.log;
}
&lt;/pre&gt;


&lt;p&gt;Activez le site :&lt;/p&gt;

&lt;pre&gt;ln -s /etc/nginx/sites-available/redmine /etc/nginx/sites-enabled/redmine&lt;/pre&gt;


&lt;p&gt;et relancer nginx :&lt;/p&gt;

&lt;pre&gt;/etc/init.d/nginx restart&lt;/pre&gt;


&lt;p&gt;En vous rendant sur &lt;a href=&quot;http://localhost/&quot; title=&quot;http://localhost/&quot;&gt;http://localhost/&lt;/a&gt; vous devez avoir accès à votre instance redmine...&lt;/p&gt;


&lt;p&gt;Connaissant pas du tout rails et mongrel, il y a peut être des améliorations à apporter. Pour nginx, idem. Je suis preneur d'améliorations &lt;img src=&quot;/themes/default/smilies/smile.png&quot; alt=&quot;:-)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Maintenant, il me reste à étudier la &lt;a href=&quot;http://www.redmine.org/wiki/redmine/RedmineMigrate&quot; hreflang=&quot;en&quot;&gt;migration de Trac vers Redmine&lt;/a&gt;...&lt;/p&gt;


&lt;p&gt;Liens utiles :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.drinkingbird.net/blog/articles/2008/02/27/setting-up-a-redmine-site-on-ubuntu&quot; hreflang=&quot;en&quot;&gt;Setting up a Redmine site on Ubuntu&lt;/a&gt; (pour redmine, postgresql et mongrel)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.boldr.fr/posts/installer-et-configurer-switchpipe&quot; hreflang=&quot;fr&quot;&gt;Installer et configurer switchpipe&lt;/a&gt; (pour la configuration nginx)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://doc.ubuntu-fr.org/postgresql&quot; hreflang=&quot;fr&quot;&gt;Doc Ubuntu-fr : Postgresql&lt;/a&gt; pour postgresql&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
          <comments>http://www.unelectronlibre.info/index.php/post/2008/05/01/Nginx-Redmine-et-PostgreSQL#comment-form</comments>
      <wfw:comment>http://www.unelectronlibre.info/index.php/post/2008/05/01/Nginx-Redmine-et-PostgreSQL#comment-form</wfw:comment>
      <wfw:commentRss>http://www.unelectronlibre.info/index.php/feed/rss2/comments/503</wfw:commentRss>
      </item>
    
  <item>
    <title>Lecture : Petit guide à l'usage du développeur agile</title>
    <link>http://www.unelectronlibre.info/index.php/post/2007/10/31/Lecture-%3A-Petit-guide-a-lusage-du-developpeur-agile</link>
    <guid isPermaLink="false">urn:md5:d206c5776506e3310090a3eca746354f</guid>
    <pubDate>Wed, 31 Oct 2007 00:06:00 +0100</pubDate>
    <dc:creator>NiCoS</dc:creator>
        <category>WWW, NTIC &amp; Co</category>
        <category>agile</category><category>développement</category><category>gestion de projet</category><category>python</category>    
    <description>    &lt;p&gt;Je n'en finis pas de mes lectures. Dernier livre donc sur ma liste : &lt;a href=&quot;http://programmation-python.org/guide&quot; hreflang=&quot;fr&quot;&gt;Petit guide à l'usage du développeur agile&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Le livre m'a bien plu et surtout les derniers chapitres sur le &lt;a href=&quot;http://fr.wikipedia.org/wiki/Test_Driven_Development&quot; hreflang=&quot;fr&quot;&gt;Test Driven Development&lt;/a&gt; (TDD), Document Driven Development (zut, pas de bon lien à mettre) (DDD) et la gestion de projet. La partie sur Python en tant que telle m'est globalement passée au dessus de ma petite tête du fait de mon niveau actuel sur le langage (j'ai néanmoins glané quelques trucs ici et là, directement applicable dans mes dev en cours).&lt;/p&gt;


&lt;p&gt;Ce livre ne vous aidera pas à appréhender python (enfin moi, cela ne m'a pas aider) et à la limite il n'aborderait pas python, ce ne serait pas grave. L'intérêt du livre n'est pas là mais bien dans les conseils, méthodo, bonnes pratiques qui sont énumérées. Bon faut quand même l'avouer, quand on voit comment TDD et DDD s'appliquent à Python, ça laisse rêveur (et l'équivalent n'existe pas pour PHP ou même Ruby apparemment, surtout pour DDD).&lt;/p&gt;


&lt;p&gt;Les seules choses que j'ai trouvé un peu pénible dans le livre tiennent plutôt sur la forme (le formatage du code pourrait être amélioré, pas mal de typo/fautes d'orthographe, etc.)&lt;/p&gt;


&lt;p&gt;En tous cas, à lire pour tout (bon) développeur / chef de projet qui se respecte !&lt;/p&gt;


&lt;p&gt;D'autres critiques du livre :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;David, Biologeek : &lt;a href=&quot;http://www.biologeek.com/journal/index.php/envie-de-developper-agilement-en-python-suivez-le-guide&quot; hreflang=&quot;fr&quot;&gt;Envie de développer agilement en Python ? Suivez le guide !&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Luvit, &lt;a href=&quot;http://fr.luvdit.com/items/20/&quot; hreflang=&quot;fr&quot;&gt;fiche de Petit guide à l'usage du développeur agile&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Comment assurer la pérénité de son projet ?</title>
    <link>http://www.unelectronlibre.info/index.php/post/2007/10/09/Comment-assurer-la-perenite-de-son-projet</link>
    <guid isPermaLink="false">urn:md5:a4d8ca30ba2c0a940de9505d38b68d26</guid>
    <pubDate>Tue, 09 Oct 2007 21:50:00 +0200</pubDate>
    <dc:creator>NiCoS</dc:creator>
        <category>WWW, NTIC &amp; Co</category>
        <category>bonnes pratiques</category><category>développement</category><category>gestion de projet</category><category>projet</category><category>spip</category>    
    <description>    &lt;p&gt;Etant en train de mettre à jour un site réalisé sous SPIP 1.7 vers SPIP 1.9.2c (soit un écart proche de *21* versions intermédiaires (majeures ou mineures), voici quelques retours :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ne pas suivre la mise à jour de l'outil qu'on utilise, c'est très mal. Avoir en tête tous les changements qui ont eu lieu entre ces versions relèvent parfois du casse-tête. Bon en même temps, &lt;a href=&quot;http://trac.rezo.net/trac/spip/changeset/4805&quot;&gt;un bug sur le critère titre_mot&lt;/a&gt; a empêché une mise à jour de l'outil pendant longtemps (au moins la version 1.8.2e, soit déjà 10 versions d'écart).&lt;/li&gt;
&lt;li&gt;Ne pas documenter le code (php ou les squelettes SPIP), c'est mal aussi.&lt;/li&gt;
&lt;li&gt;Ne pas conserver les sources des animations flash, c'est mal aussi (pour le coup, cela m'a simplement obligé à utiliser un lien symbolique suite à la réorganisation du bazar)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Du coup, on peut raisonnablement se dire que pour assurer la pérénité de son projet, il faut :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Documenter le code de façon satisfaisante :
&lt;ul&gt;
&lt;li&gt;Utilisation de la javadoc, phpdoc, ...&lt;/li&gt;
&lt;li&gt;Utilisation de la balise REM pour les squelettes SPIP expliquant chaque boucle ou bloc de boucle (notamment avec les &lt;a href=&quot;http://www.spip.net/fr_article913.html&quot; hreflang=&quot;fr&quot;&gt;boucles HIERARCHIES&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Documenter le fonctionnement du site, les règles de gestion, la raison d'être des différents articles, etc que ce soit dans un document externe ou au sein des squelettes par ex&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Le code ne correspondant pas au code source de l'application doit être clairement identifiable.
&lt;ul&gt;
&lt;li&gt;Seul le code source spécifique au projet doit dès lors être dans le gestionnaire de source du projet&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Suivre les mises à jour de l'outil au fur et à mesure en tirant parti des nouvelles fonctionnalités
&lt;ul&gt;
&lt;li&gt;Le nouveau compilateur (plus oblige a réécrire certaines boucles vu qu'il est moins laxiste que précédemment.&lt;/li&gt;
&lt;li&gt;L'apparition de &lt;code&gt;#DOSSIER_SQUELETTE&lt;/code&gt; puis de &lt;code&gt;CHEMIN{}&lt;/code&gt; permet ainsi de centraliser tous les éléments de vos squelettes et vous donne une plus grande flexibilité (plus de chemin en dur par ex)&lt;/li&gt;
&lt;li&gt;Le coût de la mise à jour est alors minime et réparti - plutôt qu'un gros coup prohibitif lors de la mise à jour 21 versions plus tard, risquant de plonger votre projet dans l'immobilisme total...&lt;/li&gt;
&lt;li&gt;La transformation de certains bouts de code en plugins SPIP (notamment pour des éléments insérés dans la partie privée) est un réel plus et améliore la lisibilité de votre site/code.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Suivre les mises à jour pour bénéficier des correctifs de sécurité&lt;/li&gt;
&lt;li&gt;Sans oublier que la mise en page par tableaux, c'est une horreur à maintenir, illisible, etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;La liste n'est sans doute pas exhaustive mais déjà rien que pour ce projet, je peux mettre un zéro pointé partout. Alors certes, un bug SPIP corrigé en 1.8.2e empêchait toute mise à jour vers la version 1.8 de l'outil, mais depuis, cela aurait du être fait proprement.&lt;/p&gt;


&lt;p&gt;En tous cas, ça vous donne plein de bonnes pratiques pour vos prochains projets perso / cahier des charges / mode de gestion de projet / ... ; si ça vous en donne pas, moi si !&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Getting real : impressions générales...</title>
    <link>http://www.unelectronlibre.info/index.php/post/2007/01/30/Getting-real-%3A-impressions-generales</link>
    <guid isPermaLink="false">urn:md5:f34d2d807aff66df183d7f21e6fac408</guid>
    <pubDate>Tue, 30 Jan 2007 22:18:00 +0100</pubDate>
    <dc:creator>NiCoS</dc:creator>
        <category>Dev Web</category>
        <category>gestion de projet</category><category>getting real</category><category>livre</category>    
    <description>    &lt;p&gt;Après que le buzz soit passé et comme &lt;a href=&quot;http://biologeek.com/journal/index.php/etapes-de-developpement-d-une-application-web&quot; hreflang=&quot;fr&quot;&gt;David&lt;/a&gt; remettait ça sur le tapis, je me suis dit qu'il fallait que je me mettre à lire &lt;a href=&quot;http://gettingreal.37signals.com/&quot; hreflang=&quot;en&quot;&gt;Getting Real&lt;/a&gt;. J'avais lu le chapitre &lt;a href=&quot;http://gettingreal.37signals.com/ch11_Theres_Nothing_Functional_about_a_Functional_Spec.php&quot; hreflang=&quot;en&quot;&gt;&amp;quot;There is nothing functionnal about a functionnal spec&amp;quot;&lt;/a&gt;, qui m'avait fait sourire. Cela pouvait en effet être adapté à certains cas mais dans le cas de gros projets, de telles assertions me laissaient (et me laissent toujours sceptique).&lt;/p&gt;


&lt;p&gt;Bref, je me suis dit, autant ne pas mourir idiot, autant lire le bouquin en entier pour m'en faire une vraie idée. J'ai donc acheté la version PDF que j'ai lu entre hier matin et ce matin en allant et revenant du travail (c'est dire si les 177 pages se lisent bien &lt;img src=&quot;/themes/default/smilies/wink.png&quot; alt=&quot;;-)&quot; class=&quot;smiley&quot; /&gt; ).&lt;/p&gt;


&lt;p&gt;Arrête de causer et viens en au fait me direz-vous... ok ok, j'y arrive !&lt;/p&gt;


&lt;p&gt;Comme marqué dans le titre, ce sont des impressions générales, pour une revue détaillée, il faudra attendre un peu !&lt;/p&gt;


&lt;p&gt;Donc globalement :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;le bouquin est sympa à lire, contient de bonnes idées (pas forcément nouvelles, on retrouve des principes présents dans beaucoup de méthodes (KISS, XP, etc) ou seulement pleines de bon sens)&lt;/li&gt;
&lt;li&gt;tout ça, c'est valable chez 37signals, il est possible de reproduire une partie de leur règles de conduites mais pour toutes les reproduires, les assertions deviennent très fortes. Comme ils le disent eux même, ça marche chez nous, ça peut ne pas marcher chez vous ou pas totalement. Comme toute méthode, il faut adapter à son propre cas,&lt;/li&gt;
&lt;li&gt;J'ai vu pas mal de bonnes idées pour mes projets perso, voir même pro,&lt;/li&gt;
&lt;li&gt;Certaines erreurs pointées du doigt m'ont fait penser à certains (moments de) projets ou missions ou lorsque je vois des clients repondre des méthodologies internes avec des documents de 30 pages mini (quand il est vide) pour chaque phase du projet et un reporting de dingue. Je vois mal un chef de projet faire 80% de reporting et 20% de gestion de projet.&lt;/li&gt;
&lt;li&gt;Certaines de leurs règles sont valables pour des projets simples ou de petites tailles, voir uniquement pour des projets réalisés en interne. Par contre, je vois mal dire à un client : bon ben finalement pour le prix et le délai qu'on a, on ne développe que 50% du périmètre. Pour un engagement au forfait, c'est pas adapté par ex !&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bref, je pense que tout développeur ou chef de projet devrait lire le livre s'il en a l'occasion. Par contre, comme tout livre de méthodologie, il faut savoir l'adapter à son cas et ne pas se lancer dans une application stricte sous peine d'échec assuré à mon humble avis.&lt;/p&gt;


&lt;p&gt;Pour ceux qui l'ont lu, qu'en avez-vous pensé ?&lt;/p&gt;


&lt;p&gt;Pour la version commentée en détail, faudra attendre un peu &lt;img src=&quot;/themes/default/smilies/wink.png&quot; alt=&quot;;-)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
</channel>
</rss>