<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Devblog IntraViva</title>
	<atom:link href="http://intraviva.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://intraviva.wordpress.com</link>
	<description>Blog de suivi du développement de l'Intranet Vivasanté</description>
	<lastBuildDate>Mon, 02 Feb 2009 17:31:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='intraviva.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Devblog IntraViva</title>
		<link>http://intraviva.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://intraviva.wordpress.com/osd.xml" title="Devblog IntraViva" />
	<atom:link rel='hub' href='http://intraviva.wordpress.com/?pushpress=hub'/>
		<item>
		<title>API de synchronisation: it works!</title>
		<link>http://intraviva.wordpress.com/2009/02/02/it-works/</link>
		<comments>http://intraviva.wordpress.com/2009/02/02/it-works/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 17:08:47 +0000</pubDate>
		<dc:creator>aimxhaisse</dc:creator>
				<category><![CDATA[prod]]></category>
		<category><![CDATA[curl]]></category>
		<category><![CDATA[rest]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[synchronisation]]></category>
		<category><![CDATA[xmlrpc]]></category>

		<guid isPermaLink="false">http://intraviva.wordpress.com/?p=220</guid>
		<description><![CDATA[Une etape importante dans la realisation de notre application est la synchronisation avec differents intranets existants: cela permet en autre de faire en sorte qu&#8217;une modification sur un intranet local (basiquement un changement de numero de telephone) se repercute sur notre application, et vice et versa. Sur certains intranets locaux, un logiciel interne indique le [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intraviva.wordpress.com&amp;blog=4937179&amp;post=220&amp;subd=intraviva&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:left;">Une etape importante dans la realisation de notre application est la synchronisation avec differents intranets existants: cela permet en autre de faire en sorte qu&#8217;une modification sur un intranet local (basiquement un changement de numero de telephone) se repercute sur notre application, et vice et versa. Sur certains intranets locaux, un logiciel interne indique le status d&#8217;un utilisateur, c&#8217;est egalement tres plaisant de voir ce status se mettre a jour sur notre application.</p>
<p style="text-align:left;">Pour cela, nous avons mis en place une API permettant d&#8217;effectuer les modifications sur notre application. Cette API prend la forme d&#8217;une application Symfony recevant du XML via des requetes GET/POST (a la maniere d&#8217;un systeme REST, mais tres allege et adapte a notre application), et en fonction de ce dernier, met a jour notre base de donnees.</p>
<p style="text-align:left;">Nous avons fait une petite librairie PHP permettant de faciliter les echanges en generant le XML et en offrant une abstraction aux requetes CURL. Ainsi, avec un petit CRON present sur chaque intranet local, on peut facilement remettre a jour les donnees de notre application, un petit screen pour illustrer cela :</p>
<p style="text-align:center;"><img class="size-full wp-image-221 aligncenter" title="life" src="http://intraviva.files.wordpress.com/2009/02/life.png?w=480&#038;h=420" alt="life" width="480" height="420" /></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/intraviva.wordpress.com/220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/intraviva.wordpress.com/220/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/intraviva.wordpress.com/220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/intraviva.wordpress.com/220/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/intraviva.wordpress.com/220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/intraviva.wordpress.com/220/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/intraviva.wordpress.com/220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/intraviva.wordpress.com/220/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/intraviva.wordpress.com/220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/intraviva.wordpress.com/220/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/intraviva.wordpress.com/220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/intraviva.wordpress.com/220/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/intraviva.wordpress.com/220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/intraviva.wordpress.com/220/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intraviva.wordpress.com&amp;blog=4937179&amp;post=220&amp;subd=intraviva&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://intraviva.wordpress.com/2009/02/02/it-works/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">aimxhaisse</media:title>
		</media:content>

		<media:content url="http://intraviva.files.wordpress.com/2009/02/life.png" medium="image">
			<media:title type="html">life</media:title>
		</media:content>
	</item>
		<item>
		<title>Mise en tests de mon projet Symfony 1.1</title>
		<link>http://intraviva.wordpress.com/2009/01/05/mise-en-tests-de-mon-projet-symfony-11/</link>
		<comments>http://intraviva.wordpress.com/2009/01/05/mise-en-tests-de-mon-projet-symfony-11/#comments</comments>
		<pubDate>Mon, 05 Jan 2009 18:14:33 +0000</pubDate>
		<dc:creator>Gaspard</dc:creator>
				<category><![CDATA[prod]]></category>
		<category><![CDATA[deploiement]]></category>
		<category><![CDATA[deploying application]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[freeze]]></category>
		<category><![CDATA[grouik]]></category>
		<category><![CDATA[rsync]]></category>
		<category><![CDATA[scp]]></category>
		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://intraviva.wordpress.com/?p=214</guid>
		<description><![CDATA[Alors que certains sont En vacances (ou pas), d&#8217;autres reprennent les projets doucètement recouverts par la fine pellicule de neige qui s&#8217;abat sur Paris. Premier truc à faire : mettre son projet en tests, grosso-modo, il faut suivre la procédure décrite dans la doc dans le chapitre Deploying Application. Comme on n&#8217;a pas encore commencé [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intraviva.wordpress.com&amp;blog=4937179&amp;post=214&amp;subd=intraviva&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Alors que certains sont <a href="http://www.aimxhaisse.com/?p=37">En vacances</a> (<a href="http://twitter.com/aimxhaisse/statuses/1095991849">ou pas</a>), d&#8217;autres reprennent les projets doucètement recouverts par la fine pellicule de neige qui s&#8217;abat sur Paris.</p>
<p>Premier truc à faire : mettre son projet en tests, grosso-modo, il faut suivre la procédure décrite dans la doc dans le chapitre <a href="http://www.symfony-project.org/book/1_1/16-Application-Management-Tools#Deploying%20Applications">Deploying Application</a>.</p>
<p>Comme on n&#8217;a pas encore commencé à utiliser rsync, la bonne vieille méthode sera de commencer par dupliquer le projet  et le &#8220;nettoyer&#8221; :</p>
<blockquote><p>
cp -R IntraViva IntraViva-frozen</code></p>
<p>#nettoyage<br />
cd IntraViva-frozen<br />
rm -Rf ./.svn/<br />
rm -Rf ./*/.svn/<br />
rm -Rf ./*/*/.svn/<br />
rm -Rf ./*/*/*/.svn/<br />
rm -Rf ./*/*/*/*/.svn/<br />
rm -Rf ./*/*/*/*/*/.svn/<br />
rm -Rf ./*/*/*/*/*/*/.svn/<br />
rm -Rf ./*/*/*/*/*/*/*/.svn/<br />
rm -Rf ./*/*/*/*/*/*/*/*/.svn/<br />
rm -Rf ./*/*/*/*/*/*/*/*/*/.svn/<br />
rm -Rf ./*/*/*/*/*/*/*/*/*/*/.svn/<br />
rm -Rf ./*/*/*/*/*/*/*/*/*/*/*/.svn/<br />
rm .project<br />
ls -laR | grep svn<br />
rm log/*.log<br />
rm -Rf cache/*<br />
rm -Rf web/uploads/*/*
</p></blockquote>
<p>Après, on utilise dans le nouveau dossier (la copie) la commande <em>freeze</em></p>
<blockquote><p>
# freeze avec l'url de Symfony (cf ./config/ProjectConfiguration.class.php)<br />
./symfony project:freeze /usr/share/php/symfony
</p></blockquote>
<p>L'édition des mots de passe dans deux fichiers (gnn, une subtilité m'échappe)</p>
<blockquote><p>
# changement des mots de passe<br />
vi config/databases.yml config/propel.ini
</p></blockquote>
<p>Et comme je suis un bourrin, j'upload comme un porc et je fixe les droits, on est en dev alors pas de quartiers !</p>
<blockquote><p>
#upload bourrin (toupourri)<br />
scp -r * user@serverdedev.net:./intraviva.serverdedev.net/</p>
<p>ssh user@serverdedevnet<br />
chmod -R 777 config/ log/ web/upload/<br />
# un chown serait plus propre mais le dev c'est le paradis des gorets.
</p></blockquote>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/intraviva.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/intraviva.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/intraviva.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/intraviva.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/intraviva.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/intraviva.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/intraviva.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/intraviva.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/intraviva.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/intraviva.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/intraviva.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/intraviva.wordpress.com/214/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/intraviva.wordpress.com/214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/intraviva.wordpress.com/214/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intraviva.wordpress.com&amp;blog=4937179&amp;post=214&amp;subd=intraviva&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://intraviva.wordpress.com/2009/01/05/mise-en-tests-de-mon-projet-symfony-11/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">gaspard</media:title>
		</media:content>
	</item>
		<item>
		<title>Qui a dit que Propel c&#8217;etait naze?</title>
		<link>http://intraviva.wordpress.com/2008/12/09/qui-a-dit-que-propel-cetait-naze/</link>
		<comments>http://intraviva.wordpress.com/2008/12/09/qui-a-dit-que-propel-cetait-naze/#comments</comments>
		<pubDate>Tue, 09 Dec 2008 17:47:31 +0000</pubDate>
		<dc:creator>aimxhaisse</dc:creator>
				<category><![CDATA[prod]]></category>
		<category><![CDATA[naze]]></category>
		<category><![CDATA[propel]]></category>
		<category><![CDATA[requete]]></category>

		<guid isPermaLink="false">http://intraviva.wordpress.com/?p=206</guid>
		<description><![CDATA[Lorsque l&#8217;on doit realiser des requetes complexes avec Propel, on a souvent tendance a se renvoyer la balle $criteria = new Criteria(); $criteria-&#62;addDescendingOrderByColumn( ProjectParameterPeer::CREATED_AT); $criteria-&#62;setDistinct(); $criteria-&#62;add(ProjectParameterPeer::TITLE, &#8220;%&#8221;.$str.&#8221;%&#8221;, Criteria::LIKE); if ($user-&#62;isAdmin()) return ProjectParameterPeer::doSelect($criteria); $criterion1 = $criteria-&#62;getNewCriterion(ProjectUserPeer::USER_IDENTITY_ID, $user-&#62;getProfile()-&#62;getId()); $criterion2 = $criteria-&#62;getNewCriterion(ProjectUserPeer::USER_LEVEL, 0, Criteria::GREATER_THAN); $criterion3 = $criteria-&#62;getNewCriterion(ProjectParameterPeer::ID, ProjectParameterPeer::ID .&#8217;=&#8217;. ProjectUserPeer::PROJECT_PARAMETER_ID, Criteria::CUSTOM); $criterion4 = $criteria-&#62; getNewCriterion(ProjectParameterPeer::IS_PUBLIC, true); $criteria-&#62;add($criterion1-&#62;addAnd($criterion2)-&#62; addAnd($criterion3)-&#62;addOr($criterion4)); [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intraviva.wordpress.com&amp;blog=4937179&amp;post=206&amp;subd=intraviva&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Lorsque l&#8217;on doit realiser des requetes complexes avec Propel, on a souvent tendance a se renvoyer la balle <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<blockquote><p>
$criteria = new Criteria();</p>
<p>$criteria-&gt;addDescendingOrderByColumn( ProjectParameterPeer::CREATED_AT);<br />
$criteria-&gt;setDistinct();<br />
$criteria-&gt;add(ProjectParameterPeer::TITLE, &#8220;%&#8221;.$str.&#8221;%&#8221;, Criteria::LIKE);<br />
if ($user-&gt;isAdmin())<br />
      return ProjectParameterPeer::doSelect($criteria);<br />
$criterion1 = $criteria-&gt;getNewCriterion(ProjectUserPeer::USER_IDENTITY_ID, $user-&gt;getProfile()-&gt;getId());<br />
$criterion2 = $criteria-&gt;getNewCriterion(ProjectUserPeer::USER_LEVEL, 0, Criteria::GREATER_THAN);<br />
$criterion3 = $criteria-&gt;getNewCriterion(ProjectParameterPeer::ID, ProjectParameterPeer::ID .&#8217;=&#8217;. ProjectUserPeer::PROJECT_PARAMETER_ID, Criteria::CUSTOM);<br />
$criterion4 = $criteria-&gt; getNewCriterion(ProjectParameterPeer::IS_PUBLIC, true);<br />
$criteria-&gt;add($criterion1-&gt;addAnd($criterion2)-&gt; addAnd($criterion3)-&gt;addOr($criterion4));<br />
$criteria-&gt;setLimit($limit);</p>
<p>return ProjectParameterPeer::doSelect($criteria);
</p></blockquote>
<p>Bon par contre je n&#8217;aimerai pas avoir a la refaire celle la <img src='http://s2.wp.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p><del datetime="00"><br />
PS: En fait propel c&#8217;est <strong>SUPER</strong> naze</del></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/intraviva.wordpress.com/206/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/intraviva.wordpress.com/206/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/intraviva.wordpress.com/206/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/intraviva.wordpress.com/206/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/intraviva.wordpress.com/206/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/intraviva.wordpress.com/206/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/intraviva.wordpress.com/206/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/intraviva.wordpress.com/206/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/intraviva.wordpress.com/206/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/intraviva.wordpress.com/206/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/intraviva.wordpress.com/206/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/intraviva.wordpress.com/206/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/intraviva.wordpress.com/206/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/intraviva.wordpress.com/206/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intraviva.wordpress.com&amp;blog=4937179&amp;post=206&amp;subd=intraviva&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://intraviva.wordpress.com/2008/12/09/qui-a-dit-que-propel-cetait-naze/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">aimxhaisse</media:title>
		</media:content>
	</item>
		<item>
		<title>Gestionnaire de projets &#8211; Beta</title>
		<link>http://intraviva.wordpress.com/2008/11/24/gestionnaire-de-projets-beta/</link>
		<comments>http://intraviva.wordpress.com/2008/11/24/gestionnaire-de-projets-beta/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 08:42:55 +0000</pubDate>
		<dc:creator>Gaspard</dc:creator>
				<category><![CDATA[prod]]></category>

		<guid isPermaLink="false">http://intraviva.wordpress.com/?p=198</guid>
		<description><![CDATA[Allez, on se lance, on ne sait pas vraiment ce que ça veut dire, mais histoire de se la pêter on va dire que le gestionnaire de projets est en BETA<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intraviva.wordpress.com&amp;blog=4937179&amp;post=198&amp;subd=intraviva&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Allez, on se lance, on ne sait pas vraiment ce que ça veut dire, mais histoire de se la pêter on va dire que le gestionnaire de projets est en BETA</p>
<p><a href="http://intraviva.files.wordpress.com/2008/11/scrot.png"><img src="http://intraviva.files.wordpress.com/2008/11/scrot.png?w=480&#038;h=2057" alt="scrot" title="scrot" width="480" height="2057" class="alignnone size-full wp-image-199" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/intraviva.wordpress.com/198/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/intraviva.wordpress.com/198/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/intraviva.wordpress.com/198/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/intraviva.wordpress.com/198/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/intraviva.wordpress.com/198/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/intraviva.wordpress.com/198/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/intraviva.wordpress.com/198/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/intraviva.wordpress.com/198/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/intraviva.wordpress.com/198/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/intraviva.wordpress.com/198/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/intraviva.wordpress.com/198/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/intraviva.wordpress.com/198/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/intraviva.wordpress.com/198/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/intraviva.wordpress.com/198/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intraviva.wordpress.com&amp;blog=4937179&amp;post=198&amp;subd=intraviva&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://intraviva.wordpress.com/2008/11/24/gestionnaire-de-projets-beta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">gaspard</media:title>
		</media:content>

		<media:content url="http://intraviva.files.wordpress.com/2008/11/scrot.png" medium="image">
			<media:title type="html">scrot</media:title>
		</media:content>
	</item>
		<item>
		<title>Eclipse et la gestion des taches</title>
		<link>http://intraviva.wordpress.com/2008/11/21/eclipse-et-la-gestion-des-taches/</link>
		<comments>http://intraviva.wordpress.com/2008/11/21/eclipse-et-la-gestion-des-taches/#comments</comments>
		<pubDate>Fri, 21 Nov 2008 15:40:35 +0000</pubDate>
		<dc:creator>aimxhaisse</dc:creator>
				<category><![CDATA[prod]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[fixme]]></category>
		<category><![CDATA[taches]]></category>
		<category><![CDATA[tasks]]></category>
		<category><![CDATA[todo]]></category>

		<guid isPermaLink="false">http://intraviva.wordpress.com/?p=196</guid>
		<description><![CDATA[Une petite fonctionnalite sympathique avec eclipse (qui n&#8217;est apparement pas activee par default), est la recherche automatique de mots clefs tels que TODO, FIXME, &#8230; dans le code. Un petit onglet permet alors de gerer la liste des taches a effectuer, avec un ordre de priorite selon son type. Pour l&#8217;activer : clic droit sur [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intraviva.wordpress.com&amp;blog=4937179&amp;post=196&amp;subd=intraviva&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Une petite fonctionnalite sympathique avec eclipse (qui n&#8217;est apparement pas activee par default), est la recherche automatique de mots clefs tels que TODO, FIXME, &#8230; dans le code. Un petit onglet permet alors de gerer la liste des taches a effectuer, avec un ordre de priorite selon son type. </p>
<p>Pour l&#8217;activer : clic droit sur le projet &gt; properties &gt; Task Tags &gt; Enable searching for task tags</p>
<p>Plutot pratique, sauf dans notre cas ou ca devient vite le bordel car nous developpons une gestion de TODOs (on a donc plein de references a todo un peu partout dans le code <img src='http://s2.wp.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> , qui viennent s&#8217;aglutiner dans notre petit onglet, sniff).</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/intraviva.wordpress.com/196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/intraviva.wordpress.com/196/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/intraviva.wordpress.com/196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/intraviva.wordpress.com/196/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/intraviva.wordpress.com/196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/intraviva.wordpress.com/196/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/intraviva.wordpress.com/196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/intraviva.wordpress.com/196/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/intraviva.wordpress.com/196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/intraviva.wordpress.com/196/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/intraviva.wordpress.com/196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/intraviva.wordpress.com/196/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/intraviva.wordpress.com/196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/intraviva.wordpress.com/196/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intraviva.wordpress.com&amp;blog=4937179&amp;post=196&amp;subd=intraviva&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://intraviva.wordpress.com/2008/11/21/eclipse-et-la-gestion-des-taches/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">aimxhaisse</media:title>
		</media:content>
	</item>
		<item>
		<title>Symfony 1.1.5 released</title>
		<link>http://intraviva.wordpress.com/2008/11/19/symfony-115-released/</link>
		<comments>http://intraviva.wordpress.com/2008/11/19/symfony-115-released/#comments</comments>
		<pubDate>Wed, 19 Nov 2008 10:48:02 +0000</pubDate>
		<dc:creator>Gaspard</dc:creator>
				<category><![CDATA[prod]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://intraviva.wordpress.com/?p=194</guid>
		<description><![CDATA[La version 1.1.5 de symfony vient d&#8217;être publiée en version stable, du coups, ô bonheur nous n&#8217;aurons plus de bugs d&#8217;encodage en surfant sur une appli via un proxy (ticket #4688). Mettre à jour ? rien de plus simple : pear upgrade symfony/symfony-1.1.5<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intraviva.wordpress.com&amp;blog=4937179&amp;post=194&amp;subd=intraviva&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>La version <a href="http://www.symfony-project.org/blog/2008/11/18/symfony-1-1-5-released">1.1.5 de symfony</a> vient d&#8217;être publiée en version stable, du coups, ô bonheur nous n&#8217;aurons plus de bugs d&#8217;encodage en surfant sur une appli via un proxy (<a href="http://trac.symfony-project.org/ticket/4688">ticket #4688</a>).</p>
<p>Mettre à jour ? rien de plus simple :</p>
<blockquote>
<pre class="command-line"><code>pear upgrade symfony/symfony-1.1.5
</code></pre>
</blockquote>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/intraviva.wordpress.com/194/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/intraviva.wordpress.com/194/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/intraviva.wordpress.com/194/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/intraviva.wordpress.com/194/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/intraviva.wordpress.com/194/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/intraviva.wordpress.com/194/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/intraviva.wordpress.com/194/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/intraviva.wordpress.com/194/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/intraviva.wordpress.com/194/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/intraviva.wordpress.com/194/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/intraviva.wordpress.com/194/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/intraviva.wordpress.com/194/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/intraviva.wordpress.com/194/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/intraviva.wordpress.com/194/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intraviva.wordpress.com&amp;blog=4937179&amp;post=194&amp;subd=intraviva&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://intraviva.wordpress.com/2008/11/19/symfony-115-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">gaspard</media:title>
		</media:content>
	</item>
		<item>
		<title>jQuery et le rebind</title>
		<link>http://intraviva.wordpress.com/2008/11/17/jquery-et-le-rebind/</link>
		<comments>http://intraviva.wordpress.com/2008/11/17/jquery-et-le-rebind/#comments</comments>
		<pubDate>Mon, 17 Nov 2008 10:09:01 +0000</pubDate>
		<dc:creator>aimxhaisse</dc:creator>
				<category><![CDATA[prod]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[bind]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[rebind]]></category>
		<category><![CDATA[undind]]></category>

		<guid isPermaLink="false">http://intraviva.wordpress.com/?p=186</guid>
		<description><![CDATA[Une chose que l&#8217;on fait tres regulierement lorsque l&#8217;on met en place des evenements AJAX, c&#8217;est le rebind. Qu&#8217;est-ce que c&#8217;est ca ? Prenons un exemple : un ajout de commentaire en AJAX. Mise en evidence Voici ce qui se passe lorsque l&#8217;on charge une premiere fois la page: Le DOM se charge, avec dedans [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intraviva.wordpress.com&amp;blog=4937179&amp;post=186&amp;subd=intraviva&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Une chose que l&#8217;on fait tres regulierement lorsque l&#8217;on met en place des evenements AJAX, c&#8217;est le <strong>rebind</strong>. Qu&#8217;est-ce que c&#8217;est ca ? Prenons un exemple : un ajout de commentaire en AJAX.</p>
<h2>Mise en evidence</h2>
<p>Voici ce qui se passe lorsque l&#8217;on charge une premiere fois la page:</p>
<ol>
<li>Le DOM se charge, avec dedans la liste des commentaires existants</li>
<li>Des actions Javascript sont associees a ces commentaires (autrement dit, on <strong>bind</strong> ces commentaires).</li>
</ol>
<p>Voici un bout de code HTML representant les commentaires (etape 1):</p>
<blockquote><p>&lt;div class=&#8221;comment&#8221;&gt;Super un commentaire !&lt;/div&gt;<br />
&lt;div class=&#8221;comment&#8221;&gt;Super un deuxieme commentaire !&lt;/div&gt;</p></blockquote>
<p>Et l&#8217;action javascript associee aux commentaires (etape 2):</p>
<blockquote><p>$(&#8220;.comment&#8221;).click(function () { alert(&#8220;Hi there!&#8221;); });</p></blockquote>
<p>C&#8217;est assez simple, une alerte apparait lorsque l&#8217;on click sur le commentaire.</p>
<p>Maintenant, si on ajoute un nouveau commentaire en AJAX, le DOM devient :</p>
<blockquote><p>&lt;div class=&#8221;comment&#8221;&gt;Super un commentaire !&lt;/div&gt;<br />
&lt;div class=&#8221;comment&#8221;&gt;Super un deuxieme commentaire !&lt;/div&gt;<br />
&lt;div class=&#8221;comment&#8221;&gt;Groooom !&lt;/div&gt;</p></blockquote>
<p>Probleme, lorsque je click sur le commentaire &#8220;Grooom&#8221;, l&#8217;alerte n&#8217;apparait pas, normal ! Cet element du DOM n&#8217;a pas ete bind.</p>
<h2>On fait quoi alors?</h2>
<p>Soit l&#8217;on effectue un bind unique (ca demande une refactorisation totale du code) sur le dernier element, soit l&#8217;ont debind tout et l&#8217;on rebind tout. Pourquoi tout debinder? Car sinon, certains elements seraient bind 2 fois, ce qui voudrait dire que l&#8217;on aurait 2 alertes par click, ce n&#8217;est pas ce que l&#8217;on veut. J&#8217;ai eu pas mal de problemes a effectuer des bind uniques, et je me suis souvent embrouille en refactorisant du code pour pallier ce probleme.</p>
<p>J&#8217;ai donc souvent (si ce n&#8217;est toujours) tendance a debind tout, puis a rebinder, comme ceci</p>
<blockquote><p>$(&#8220;.comment&#8221;).unbind();<br />
$(&#8220;.comment&#8221;).click(function () { alert(&#8220;Hi there!&#8221;); });</p></blockquote>
<h2>C&#8217;est moche non?</h2>
<p>Si l&#8217;on a 99 commentaires, cela veut dire que jQuery va debind chacun des commentaires, puis les rebinder 1 par 1 ? Ca fait pret de 200 operations, ca va prendre du temps, c&#8217;est long, ca serait plus efficace de ne rebinder que le dernier non?</p>
<h2>Ou pas&#8230;</h2>
<p>Et bien en fait, on peut pallier ce probleme via une petite astuce: rajouter une classe <strong>binded</strong> a tous les elements que l&#8217;on a bind, et ne selectionner que ceux qui n&#8217;ont pas cette classe, ainsi le code devient:</p>
<blockquote><p>$(&#8220;.comment:not(.binded)&#8221;).each(function() {</p>
<p>$(this).addClass(&#8220;binded&#8221;);</p>
<p>$(this).onclick(function () {alert(&#8220;Hi there!&#8221;);});</p>
<p>});</p></blockquote>
<p>C&#8217;est certes un peu plus couteux en calculs qu&#8217;un bind unique, mais je trouve cela nettement plus lisible au niveau du code, et facile a faire evoluer.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/intraviva.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/intraviva.wordpress.com/186/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/intraviva.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/intraviva.wordpress.com/186/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/intraviva.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/intraviva.wordpress.com/186/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/intraviva.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/intraviva.wordpress.com/186/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/intraviva.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/intraviva.wordpress.com/186/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/intraviva.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/intraviva.wordpress.com/186/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/intraviva.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/intraviva.wordpress.com/186/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intraviva.wordpress.com&amp;blog=4937179&amp;post=186&amp;subd=intraviva&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://intraviva.wordpress.com/2008/11/17/jquery-et-le-rebind/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">aimxhaisse</media:title>
		</media:content>
	</item>
		<item>
		<title>C&#8217;est dans l&#8217;air</title>
		<link>http://intraviva.wordpress.com/2008/11/13/cest-dans-lair/</link>
		<comments>http://intraviva.wordpress.com/2008/11/13/cest-dans-lair/#comments</comments>
		<pubDate>Thu, 13 Nov 2008 14:41:23 +0000</pubDate>
		<dc:creator>Gaspard</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://intraviva.wordpress.com/?p=184</guid>
		<description><![CDATA[Notre projet ressemble beaucoup (trop!) à ces deux sites (payants) que m&#8217;a fait découvrir Sebastien cet aprem: Planzone taskii les deux sont assez similaires et apportent quelques bonnes idées.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intraviva.wordpress.com&amp;blog=4937179&amp;post=184&amp;subd=intraviva&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Notre projet ressemble beaucoup (trop!) à ces deux sites (payants) que m&#8217;a fait découvrir Sebastien cet aprem:</p>
<ul>
<li><a href="http://www.planzone.com/en/planzone-online-project-management-software.html" rel="nofollow">Planzone</a></li>
<li><a href="http://www.taskii.com/">taskii</a></li>
</ul>
<p>les deux sont assez similaires et apportent quelques bonnes idées.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/intraviva.wordpress.com/184/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/intraviva.wordpress.com/184/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/intraviva.wordpress.com/184/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/intraviva.wordpress.com/184/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/intraviva.wordpress.com/184/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/intraviva.wordpress.com/184/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/intraviva.wordpress.com/184/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/intraviva.wordpress.com/184/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/intraviva.wordpress.com/184/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/intraviva.wordpress.com/184/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/intraviva.wordpress.com/184/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/intraviva.wordpress.com/184/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/intraviva.wordpress.com/184/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/intraviva.wordpress.com/184/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intraviva.wordpress.com&amp;blog=4937179&amp;post=184&amp;subd=intraviva&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://intraviva.wordpress.com/2008/11/13/cest-dans-lair/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">gaspard</media:title>
		</media:content>
	</item>
		<item>
		<title>Authentification des utilisateurs par rapport a leur IP?</title>
		<link>http://intraviva.wordpress.com/2008/11/12/authentification-des-utilisateurs-par-rapport-a-leur-ip/</link>
		<comments>http://intraviva.wordpress.com/2008/11/12/authentification-des-utilisateurs-par-rapport-a-leur-ip/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 16:17:35 +0000</pubDate>
		<dc:creator>aimxhaisse</dc:creator>
				<category><![CDATA[prod]]></category>
		<category><![CDATA[authentification]]></category>
		<category><![CDATA[ip]]></category>
		<category><![CDATA[sfguard]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[xmlrpc]]></category>

		<guid isPermaLink="false">http://intraviva.wordpress.com/?p=178</guid>
		<description><![CDATA[Nous développons une application qui sera utilisée en interne par des utilisateurs qui seront sur des PC fixes, identifiés par une adresse IP, et nous voulons mettre en place un système d&#8217;authentification automatique, c&#8217;est a dire faire en sorte que lorsque l&#8217;utilisateur se connecte à l&#8217;application, ce dernier n&#8217;ait pas besoin de s&#8217;identifier. Notre application [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intraviva.wordpress.com&amp;blog=4937179&amp;post=178&amp;subd=intraviva&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Nous développons une application qui sera utilisée en interne par des utilisateurs qui seront sur des PC fixes, identifiés par une adresse IP, et nous voulons mettre en place un système d&#8217;authentification automatique, c&#8217;est a dire faire en sorte que lorsque l&#8217;utilisateur se connecte à l&#8217;application, ce dernier n&#8217;ait pas besoin de s&#8217;identifier.</p>
<p>Notre application sera située en dehors du réseau sur un serveur internet, et les utilisateurs accèderont à l&#8217;application via un proxy. C&#8217;est assez problématique dans la mesure où notre application sera incapable de déterminer quel utilisateur tente de se connecter une fois le proxy traversé.</p>
<p>Après avoir reflechi pendant un petit moment, nous avons décidé d&#8217;opter pour la solution suivante :</p>
<ol>
<li>L&#8217;utilisateur fait appel à un script situe sur un serveur interne au reseau.</li>
<li>Ce dernier, munit d&#8217;une base de données avec l&#8217;ip de l&#8217;utilisateur et son ID (ou via active directory) détermine l&#8217;utilisateur.</li>
<li>Le proxy communique au serveur WEB via XMLRPC les informations sur l&#8217;utilisateur.</li>
<li>Le serveur génère une clef qu&#8217;il renvoit par XMLRPC au serveur interne.</li>
<li>Le serveur interne redirige l&#8217;utilisateur vers une page d&#8217;authentification par clef (une simple action sfGuard) qui démarre automatiquement la session.</li>
</ol>
<p>De plus, cela nous permet de nous familiariser un peu avec XMLRPC (qui nous servira pour synchroniser nos bases avec celles des différentes applications existantes).</p>
<p>Pour ce qui est des échanges XMLRPC, nous utilisons la librairie <a href="http://phpxmlrpc.sourceforge.net/">php-xmlrpc</a>, qui permet une implémentation assez aisée et sécurisée des échanges (via SSL).</p>
<p><a href="http://intraviva.files.wordpress.com/2008/11/identification.png"><img class="alignnone size-full wp-image-192" title="identification" src="http://intraviva.files.wordpress.com/2008/11/identification.png?w=480&#038;h=960" alt="identification" width="480" height="960" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/intraviva.wordpress.com/178/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/intraviva.wordpress.com/178/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/intraviva.wordpress.com/178/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/intraviva.wordpress.com/178/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/intraviva.wordpress.com/178/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/intraviva.wordpress.com/178/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/intraviva.wordpress.com/178/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/intraviva.wordpress.com/178/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/intraviva.wordpress.com/178/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/intraviva.wordpress.com/178/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/intraviva.wordpress.com/178/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/intraviva.wordpress.com/178/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/intraviva.wordpress.com/178/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/intraviva.wordpress.com/178/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intraviva.wordpress.com&amp;blog=4937179&amp;post=178&amp;subd=intraviva&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://intraviva.wordpress.com/2008/11/12/authentification-des-utilisateurs-par-rapport-a-leur-ip/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">aimxhaisse</media:title>
		</media:content>

		<media:content url="http://intraviva.files.wordpress.com/2008/11/identification.png" medium="image">
			<media:title type="html">identification</media:title>
		</media:content>
	</item>
		<item>
		<title>Déployer une application Symfony</title>
		<link>http://intraviva.wordpress.com/2008/11/06/deployer-une-application-symfony/</link>
		<comments>http://intraviva.wordpress.com/2008/11/06/deployer-une-application-symfony/#comments</comments>
		<pubDate>Thu, 06 Nov 2008 09:54:09 +0000</pubDate>
		<dc:creator>Gaspard</dc:creator>
				<category><![CDATA[prod]]></category>
		<category><![CDATA[freeze]]></category>
		<category><![CDATA[sandbox]]></category>
		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://intraviva.wordpress.com/?p=170</guid>
		<description><![CDATA[Lors de la mise en production ou en tests de son projet symfony, il faut choisir entre deux options : Installer Symfony de façon centralisée sur le serveur et utiliser plusieurs projets dans (par exemple) /usr/share/php/symfony ou avoir une version de symfony incluse dans chaque projet. Un Symfony centralisé Un symfony centralisé permet de garder [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intraviva.wordpress.com&amp;blog=4937179&amp;post=170&amp;subd=intraviva&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Lors de la mise en production ou en tests de son projet symfony, il faut choisir entre deux options :<br />
Installer Symfony de façon centralisée sur le serveur et utiliser plusieurs projets dans (par exemple) /usr/share/php/symfony ou avoir une version de symfony incluse dans chaque projet.</p>
<h1>Un Symfony centralisé</h1>
<p>Un symfony centralisé permet de garder une version à jour de façon plus pérenne pour l&#8217;ensemble de ses projets, c&#8217;est la solution la plus propre, elle permet en outre d&#8217;utiliser pear pour les mises à jour en une seule ligne de commande, bref : c&#8217;est propre, maintenable, facile, etc.</p>
<h1>Un symfony par projet</h1>
<p>Dans la réalité, les versions de Symfony évoluent très vite, sur l&#8217;intranet, nous avons commencé avec la 1.1.1 et Seb est déjà en 1.1.5-DEV, par ailleurs, comme <a href="http://www.sensiolabs.com/blog/post/2008/07/24/Sensio-Labs-supporte-le-projet-Doctrine-et-ouvre-un-bureau-aux-Etats-Unis">Sensio vient de recruter Jonathan Wage, le développeur principal de Doctrine</a>, les prochaines versions de Symfony seront basées sur Doctrine, donc nos prochains projets symfony seront certainement en 1.3, voir 1.4 ou 1.5.</p>
<p>mettre à jour /usr/share/php/symfony/ alors que plein de projets en dépendent, c&#8217;est s&#8217;assurer à chaque mise à jour de l&#8217;impact sur les projets existants, c&#8217;est aussi être cantonné à une seule version de Symfony.</p>
<h1>Rassembler symfony dans le projet</h1>
<p>Pour l&#8217;intranet nous avons choisi 1.1.x pour sa maturité, en effet 1.2 me semblait un peu trop jeune pour ce genre d&#8217;applications. En revanche, pour les prochains projets (à partir de juin 2009) nous serons certainement amenés à utiliser <a href="http://trac.symfony-project.org/browser/branches/1.2">Symfony 1.2</a> voir <a href="http://trac.symfony-project.org/browser/branches/1.3">Symfony 1.3</a></p>
<p>La doc de Symfony conseille d&#8217;utiliser la commande freeze qui a été conçue spécialement à cet effet. Dans le chapitre <a href="http://www.symfony-project.org/book/1_1/16-Application-Management-Tools#Deploying%20Applications">déploiement d&#8217;applications</a>, la doc donne toute la démarche à opérer (y compris l&#8217;utilisation de rsync).</p>
<p>En simple, voici la démarche à effectuer (merci garfield-fr de #symfony-fr)</p>
<h2>Création d&#8217;une sandbox</h2>
<ol>Pour faire une sandbox :</p>
<li>copier symfony dans ./lib/vendor/symfony</li>
<li>modifier le ProjectConfiguration pour pointer sur ./lib/vendor/symfony</li>
</ol>
<h2>Travailler en sandbox avec svn</h2>
<ol>
<li>créer le dossier vendor dans le dossier lib</li>
<li>mettre symfony dans ./lib/vendor/symfony</li>
<li> svn pe svn:externals lib/vendor symfony http://svn.symfony-project.com/branches/1.1</li>
</ol>
<p>Un cas pratique ? voir <a href="http://intraviva.wordpress.com/?p=214">Mise en tests de mon projet Symfony 1.1</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/intraviva.wordpress.com/170/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/intraviva.wordpress.com/170/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/intraviva.wordpress.com/170/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/intraviva.wordpress.com/170/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/intraviva.wordpress.com/170/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/intraviva.wordpress.com/170/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/intraviva.wordpress.com/170/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/intraviva.wordpress.com/170/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/intraviva.wordpress.com/170/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/intraviva.wordpress.com/170/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/intraviva.wordpress.com/170/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/intraviva.wordpress.com/170/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/intraviva.wordpress.com/170/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/intraviva.wordpress.com/170/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=intraviva.wordpress.com&amp;blog=4937179&amp;post=170&amp;subd=intraviva&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://intraviva.wordpress.com/2008/11/06/deployer-une-application-symfony/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">gaspard</media:title>
		</media:content>
	</item>
	</channel>
</rss>
