


/* coComment.com Box */

/* SETTINGS FROM DATABASE... */
document.write( "<style type=\"text/css\">" );
document.write( "  DIV.cocomment-box{ " );
document.write( "    width:444px; " );
document.write( "  }" );
document.write( "</style>" );
/* ...SETTINGS FROM DATABASE */

/* DEFAULT STYLE... (Override these by adding your CSS LATER ON in the html page) */
document.write( "<style type=\"text/css\">" );
document.write( "  .cocomment-box{ border:1px solid #DDDDDD; padding:2px; margin:1px; background-color:white;}" );
document.write( "  .cocomment-box div{ margin:0;}" );
document.write( "  .cocomment-box .boxhead{ background-color:white; }" );
document.write( "  .cocomment-box .rsslink{ float:right; width:20px; text-align:right; padding:1px;}" );
document.write( "  .cocomment-box .cocoicon{ float:left; width:20px; padding:1px;}" );
document.write( "  .cocomment-box .heading{ text-align:center; font-size: smaller; height: 1em; }" );
document.write( "  .cocomment-box .boxheading{ color:#0D497B; }" );
document.write( "  .cocomment-box .entry{ padding:5px; font-size:x-small; background-color:#DBE8FF;" );
document.write( "                         border-bottom: 1px dashed #CCCCCC; clear:both; }" );
document.write( "  .cocomment-box .title{ padding:5px; margin-bottom:3px; background-color:white; color:black;}" );
document.write( "  .cocomment-box .article{ color:#0D497B; }" );
document.write( "  .cocomment-box .author{ color:#0D497B;}" );
document.write( "  .cocomment-box .author-alias{ display:none; }" );
document.write( "  .cocomment-box .comment{ color:black;}" );
document.write( "  .cocomment-box A{ text-decoration:none;}" );
document.write( "  .cocomment-box A:hover{ text-decoration:underline;}" );
document.write( "  .cocomment-box .boxfooter{ font-size:x-small;}" );
document.write( "  .cocomment-box .footerleft{ float:left; text-align:left;}" );
document.write( "  .cocomment-box .footerleft A{ color:gray;}" );
document.write( "  .cocomment-box .footerright{ float:right; text-align:right;}" );
document.write( "  .cocomment-box .footerright A{ color:gray;}" );
document.write( "</style>" );
/* ...DEFAULT STYLE (Override these by adding your CSS LATER ON in the html page) */

/* BOX... */
document.write( "<div class=\"cocomment-box\" id=\"cocomment-box\" style=\"text-align:left; overflow:hidden;\">" );
document.write( "  <div class=\"boxhead\">" );
document.write( "    <div class=\"rsslink\">" );
document.write( "      <a href=\"http://www.cocomment.com/rssUser/francisoud/f4c62cbe4d1c2f272789.rss\">" );
document.write( "        <img src=\"http://www.cocomment.com/images/icon-feed-14x14-for-box.gif\" style=\"border-width:0;\" alt=\"RSS\" title=\"RSS feed of this box\"></a>" );
document.write( "    </div>" );
document.write( "    <div class=\"cocoicon\">" );
document.write( "      <a href=\"http://www.cocomment.com/?box\"><img src=\"http://www.cocomment.com/images/logo-for-box17x14.gif\" style=\"display:inline; border-width:0;\" alt=\"coComment.com\" title=\"coComment.com\"></a>" );
document.write( "    </div>" );
document.write( "    <div class=\"heading\">" );
document.write( "      <a href=\"http://www.cocomment.com/comments/francisoud\" class=\"boxheading\" title=\"Show all comments of francisoud\">Comments of francisoud</a>" );
document.write( "    </div>" );
document.write( "  </div>" );


document.write( "      <div class=\"entry\" style=\"overflow:hidden;\">" );
document.write( "        <div class=\"title\">" );
document.write( "          <div>" );
document.write( "            Julien Carnelos Blog: " );
document.write( "            <a href=\"http://www.juliencarnelos.com/2007/12/11/ruby-on-rails-20/\" class=\"article\" title=\"External link to article\">Ruby on Rails 2.0</a>" );
document.write( "          </div>" );
document.write( "        </div>" );
document.write( "              <div class=\"from-other\">" );
document.write( "                - " );
document.write( "                <span class=\"author-alias\">(Julien Carnelos):</span>" );
document.write( "                <span class=\"comment\"> Effectivement, il n’existe pas de livre sur cette version. J’en suis resté à la “vieille” version du “Agile Web Development with Ruby on Rails”…Si un lecteur a une proposition récente qu’il n’hésite pas !" );
document.write( "                </span>" );
document.write( "              </div>" );
document.write( "    </div>" );
document.write( "      <div class=\"entry\" style=\"overflow:hidden;\">" );
document.write( "              <div class=\"from-me\">" );
document.write( "                <a class=\"author\" href=\"http://www.cocomment.com/comments/francisoud\">francisoud</a>" );
document.write( "                <span class=\"author-alias\">(francisoud):</span>" );
document.write( "                <span class=\"comment\"> http://railscasts.com/ très bien fait et surtout des tuto pour rails 2.0 ;)" );
document.write( "                </span>" );
document.write( "              </div>" );
document.write( "    </div>" );
document.write( "      <div class=\"entry\" style=\"overflow:hidden;\">" );
document.write( "              <div class=\"from-other\">" );
document.write( "                - " );
document.write( "                <span class=\"author-alias\">(YoYo):</span>" );
document.write( "                <span class=\"comment\"> Julien Carnelos : <br>Effectivement, il n’existe pas de livre sur cette version. J’en suis resté à la “vieille” version du “Agile Web Development with Ruby on Rails”…Si un lecteur a une proposition récente qu’il n’hésite pas !" );
document.write( "                </span>" );
document.write( "              </div>" );
document.write( "    </div>" );
document.write( "      <div class=\"entry\" style=\"overflow:hidden;\">" );
document.write( "        <div class=\"title\">" );
document.write( "          <div>" );
document.write( "            Sobe Session: " );
document.write( "            <a href=\"http://sobe-session.blogspot.com/2008/01/traductions-de-quelques-pratiques-de.html\" class=\"article\" title=\"External link to article\">Traductions de quelques </a>" );
document.write( "          </div>" );
document.write( "        </div>" );
document.write( "              <div class=\"from-me\">" );
document.write( "                <a class=\"author\" href=\"http://www.cocomment.com/comments/francisoud\">francisoud</a>" );
document.write( "                <span class=\"author-alias\">(Benjamin Francisoud):</span>" );
document.write( "                <span class=\"comment\"> &gt; Si vraiment un modèle ne marche pas, il faut le détruire et recommencer à zéro. Pas essayer de l\'améliorer...<br><br>Tout le problème est là! Je me retrouve souvent dans ce genre de situations :(<br>Comment savoir ce qui est le plus rapide ?<br>1- Ajouter quelques petites choses, faire des refactoring localement<br>2- Tout jeter et recommencer de zéro<br><br>Souvent le &quot;Big Bang refactoring&quot; est beaucoup moins simple qu\'il n\'y paraissait de prime abord. Le logiciel à refaire est complexe pour une bonne raison, tous ces if/else n\'ont pas été ajoutés pour rien, souvent pour régler ces 20% de petits bugs dans les cas limites.<br><br>Inversement on peut passer plus de temps à essayer de faire des rustines sur une jambe de bois...<br><br>Un excellent article sur le &quot;Big Rewrite&quot; que je te conseille de lire http://www.chadfowler.com/2006/12/27/the-big-rewrite<br><br>Dans la majorité des cas je préfère faire du refactoring local et améliorer petit bout par petit bout.<br>C\'est plus long, c\'est moins &quot;rewarding&quot; pour le développeur mais je trouve scandaleux de dire aux utilisateurs qu\'il n\'y aura aucunes évolutions, voir que le logiciel sera indisponible pendant plusieurs semaines/mois avant de leur livrer une nouvelle version qui contient moins de choses que la précédente et qui ne leur apporte rien de nouveau/mieux par rapport à l\'ancienne.<br><br>Mais bon tout dépend du contexte..." );
document.write( "                </span>" );
document.write( "              </div>" );
document.write( "    </div>" );
document.write( "      <div class=\"entry\" style=\"overflow:hidden;\">" );
document.write( "              <div class=\"from-other\">" );
document.write( "                - " );
document.write( "                <span class=\"author-alias\">(Sobea dit&8230;):</span>" );
document.write( "                <span class=\"comment\"> Alors, petite précision, la citation du scientifique hongrois était au sujet de modèles mathématiques (typiquement, une mise en équations différentielles d\'un système physique (mécanique des fluides dans le contexte) puis modélisation par éléments/volumes finis, solveur, etc...) : je l\'utilise seulement comme une analogie ! En pratique, dans ce domaine, &quot;jeter&quot; un modèle est probablement moins coûteux.<br><br>Par ailleurs, il est évident que la réflexion sur le choix : &quot;rewriting ou refactoring ?&quot;, est d\'une part nécessaire (et peut être longue) et d\'autre part dépend très fortement du contexte.<br><br>Si ce n\'est pas cassé, ne le répare pas. (caricature d\'ingénieur courante...)<br>C\'est évident, mais c\'est peut-être ce qu\'oublie les boîtes produisant les codes dont parle Chad Fowler (une réécriture pour passer à Rails... Pourquoi ??? Pour être dans le &quot;buzz&quot; ? C\'est pas sérieux ! Si Rails possède un avantage largement reconnu, c\'est sa rentabilité en temps domimplementation, ou sa simplicité : pas ses perfs !)<br><br>Dans le cas de produits conséquents en taille et/ou en âge, ça peut effectivement être assez téméraire : j\'avais entendu l\'exemple d\'un code de calcul américain important (environ 20 ans, peut être plus, leader dans sa branche : simulation dans le domaine nucléaire) dont la réécriture totale avait été tentée. Initialement codé en pur procédural (C ou Fortran, je ne me souviens plus) par des physiciens (donc avec une qualité d\'implementation assez variable), le code &quot;tournait&quot;. Mais un beau jour, conscients des problèmes énormes de maintenance, documentation et autres qui se posent sur ce type de produit, ils ont un beau jour décidé sa réécriture en POO avec C++. Une équipe de développeurs a été engagé spécifiquement dans ce but. Conclusion :<br>- Quasiment 6 mois de &quot;mise en place&quot;<br>- Environ 1 an d\'implementation.<br>- 6 mois de tests de non-régression qui foirent, de bugs, etc...<br>==&gt; Deux ans après le lancement de la réécriture, les clients se sont fait entendre dire qu\'ils devaient repasser à la version majeure antérieure, vieille de 2 ans.<br><br>Donc effectivement, il faut aussi être raisonnable ^^<br><br>Mon modeste avis est le suivant : dans le cas de &quot;gros&quot; code à réécrire, si l\'on suppose que l\'on est en présence d\'une équipe de dev suffisamment étoffée, la réécriture ne doit pas se faire sans la poursuite du développement de la version antérieure sur 2 trunks bien distincts. Sinon, effectivement, il est possible de se retrouver avec un produit longtemps indisponible ou buggé pour se retrouver avec au final une version &quot;light&quot; du produit précédent (ce que l\'utilisateur final risque en effet d\'assez mal digérer !!!).<br><br>Toujours est-il que cette question de la réécriture est assez importante et me paraît assez périlleuse en général !" );
document.write( "                </span>" );
document.write( "              </div>" );
document.write( "    </div>" );
document.write( "      <div class=\"entry\" style=\"overflow:hidden;\">" );
document.write( "        <div class=\"title\">" );
document.write( "          <div>" );
document.write( "            Sebz\' Mess: " );
document.write( "            <a href=\"http://sebzen.blogspot.com/2007/08/sxipper-skip-this-form-my-boy.html\" class=\"article\" title=\"External link to article\">Sxipper : Skip this form my boy !</a>" );
document.write( "          </div>" );
document.write( "        </div>" );
document.write( "              <div class=\"from-other\">" );
document.write( "                - " );
document.write( "                <span class=\"author-alias\">(Sebz a dit&8230;):</span>" );
document.write( "                <span class=\"comment\"> Eh ouais, ca faisait longtemps que j\'avais pas fais un vrai long post :)" );
document.write( "                </span>" );
document.write( "              </div>" );
document.write( "    </div>" );
document.write( "      <div class=\"entry\" style=\"overflow:hidden;\">" );
document.write( "              <div class=\"from-me\">" );
document.write( "                <a class=\"author\" href=\"http://www.cocomment.com/comments/francisoud\">francisoud</a>" );
document.write( "                <span class=\"author-alias\">(francisoud):</span>" );
document.write( "                <span class=\"comment\"> c\'est vrai que ca a l\'air de déchirer ce plugin... openId va etre plus simple on dirait :)" );
document.write( "                </span>" );
document.write( "              </div>" );
document.write( "    </div>" );
document.write( "      <div class=\"entry\" style=\"overflow:hidden;\">" );
document.write( "              <div class=\"from-other\">" );
document.write( "                - " );
document.write( "                <span class=\"author-alias\">(biboua dit&8230;):</span>" );
document.write( "                <span class=\"comment\"> Je viens juste de découvrir cette extension et je pense que je vais en gagner, du temps ! Merci pour toutes ces explications: ça aide !" );
document.write( "                </span>" );
document.write( "              </div>" );
document.write( "    </div>" );
document.write( "      <div class=\"entry\" style=\"overflow:hidden;\">" );
document.write( "        <div class=\"title\">" );
document.write( "          <div>" );
document.write( "            Sebz\' Mess: " );
document.write( "            <a href=\"http://sebzen.blogspot.com/2007/06/budweiser-what-else.html\" class=\"article\" title=\"External link to article\">Budweiser, What else ?!</a>" );
document.write( "          </div>" );
document.write( "        </div>" );
document.write( "              <div class=\"from-me\">" );
document.write( "                <a class=\"author\" href=\"http://www.cocomment.com/comments/francisoud\">francisoud</a>" );
document.write( "                <span class=\"author-alias\">(francisoud):</span>" );
document.write( "                <span class=\"comment\"> Ah ! au début je croyais que tu avais posté en double!<br><br>Comme je trie avec les plus récents en premier je l\'ai vu chez toi avant simon :p" );
document.write( "                </span>" );
document.write( "              </div>" );
document.write( "    </div>" );
document.write( "      <div class=\"entry\" style=\"overflow:hidden;\">" );
document.write( "              <div class=\"from-other\">" );
document.write( "                - " );
document.write( "                <span class=\"author-alias\">(Sebza dit&8230;):</span>" );
document.write( "                <span class=\"comment\"> Ahah :) <br><br>Une simonade par blog !" );
document.write( "                </span>" );
document.write( "              </div>" );
document.write( "    </div>" );

document.write( "<div class=\"boxfooter\">" );
document.write( "  <div class=\"footerright\">" );
document.write( "    <a href=\"http://www.cocomment.com/comments/francisoud\">more &raquo;</a>" );
document.write( "  </div>" );
document.write( "  <div class=\"footerleft\">" );
document.write( "    <a href=\"http://www.cocomment.com/?box\">Powered by coComment</a>" );
document.write( "  </div>" );
document.write( "</div>" );
document.write( "</div>" );
/* ...BOX */


