<?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>Le blog de Patrick Vergain &#187; Gestion de version</title>
	<atom:link href="http://pvergain.wordpress.com/category/genie-logiciel/gestion-de-version/feed/" rel="self" type="application/rss+xml" />
	<link>http://pvergain.wordpress.com</link>
	<description>&#34;...mais ce serait peut-être l&#039;une des plus grandes opportunités manquées de notre époque si le logiciel libre ne libérait rien d&#039;autre que du code...&#34;</description>
	<lastBuildDate>Sun, 15 Nov 2009 22:20:31 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='pvergain.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/cb14d07960d874e0d3b37821f15f5e22?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Le blog de Patrick Vergain &#187; Gestion de version</title>
		<link>http://pvergain.wordpress.com</link>
	</image>
			<item>
		<title>Quelques nouvelles de python: python 3.1a2 release, switching to mercurial, pycon 2009</title>
		<link>http://pvergain.wordpress.com/2009/04/05/quelques-nouvelles-de-python-python-31a2-release-switching-to-mercurial-pycon-2009/</link>
		<comments>http://pvergain.wordpress.com/2009/04/05/quelques-nouvelles-de-python-python-31a2-release-switching-to-mercurial-pycon-2009/#comments</comments>
		<pubDate>Sun, 05 Apr 2009 07:51:26 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[2009]]></category>
		<category><![CDATA[Gestion de version]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[bazaar]]></category>
		<category><![CDATA[mercurial]]></category>
		<category><![CDATA[and the winner is...]]></category>
		<category><![CDATA[hgview]]></category>
		<category><![CDATA[PEP 374]]></category>
		<category><![CDATA[pycon 2009]]></category>
		<category><![CDATA[python 3.1a2]]></category>

		<guid isPermaLink="false">http://pvergain.wordpress.com/?p=417</guid>
		<description><![CDATA[Gestion de versions: la gestion des sources de python passe de subversion à mercurial !.

http://sayspy.blogspot.com/2009/03/why-python-is-switching-to-mercurial.html (&#8216;Starting at PyCon 2008 thanks to Barry Warsaw and the Bazaar team I started thinking about moving Python over to a distributed version control system (DVCS). While I wanted to get offline commits for the benefit of non-core developers along [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvergain.wordpress.com&blog=696018&post=417&subd=pvergain&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><strong>Gestion de versions: la gestion des sources de python passe de subversion à mercurial !.</strong></p>
<ul>
<li><a title="Python is switching to Mercurial " href="http://sayspy.blogspot.com/2009/03/why-python-is-switching-to-mercurial.html" target="_blank">http://sayspy.blogspot.com/2009/03/why-python-is-switching-to-mercurial.html </a>(&#8216;<em>Starting at PyCon 2008 thanks to Barry Warsaw and the Bazaar team I started thinking about moving Python over to a distributed version control system (DVCS). While I wanted to get offline commits for the benefit of non-core developers along with easier merging from 2.6 to 3.0 (ah, the days when there are only three branches under development), I knew that would not necessarily be enough of a reason for others to switch</em>&#8230;<em>Based on the results of that survey where git was clearly the most disliked tool of the core developers, having the weakest Windows support, and not being implemented in Python, I decided to eliminate git from the running and announce its elimination at the first lightning talk at PyCon.When I arrived at PyCon pretty much everyone asked me about the DVCS PEP. People wanted to know how it was going, who was going to win, and giving me support/pity for what I was going through. Guido noticed this and decided to end my misery by saying he wanted to make a decision by the end of PyCon. I said I was fine with that as one was already about to be eliminated and I knew my personal preference at that exact moment aligned with Guido&#8217;s</em>&#8230;So Monday morning came around and I walked into the sprint. <em>I asked Guido if he was ready to make a decision. He said yes, we both said hg, and so Guido <a href="http://twitter.com/gvanrossum/status/1418085336">tweeted the decision</a> before <a href="http://mail.python.org/pipermail/python-dev/2009-March/087931.html">telling python-dev</a> that we chose Mercurial&#8230;Obviously community preference as shown at PyCon played a role. No one wants to choose a DVCS that causes the community to not want to contribute to Python. And I would never choose a VCS that would cause Guido to not want to work on Python. Some people seem surprised that something non-technical played a role, but ignoring social issues is to ignore how much open source is a social phenomenon. And we are not the first project to take social preference into consideration: I know both GNOME and Pinax chose git because their developers preferred git</em>.<strong> And there are technical reasons</strong>. <em>Having hg being faster than bzr by 2x to 3x does matter to some extent. No one wants to cause someone to not contribute because they didn&#8217;t want to wait for a checkout. And having personally experienced long checkout times because of a subpar connection to a specific server I know this can occur. The performance margin between hg and bzr is within reason typically and is not a flat-out deal-breaker, but it doesn&#8217;t help either. Bazaar also has its short timespan of format stability working against it. The tool has changed its format at least three times based on what the man page says (1.0, 1.6, and 1.9). Mercurial, on the other hand, has been stable since I think it went public or near that time. They take great pride in the fact they have not changed it. And that stability more aligns with python-dev&#8217;s sensibilities regarding stability</em>. <strong>Once again the Python community stands out as being friendly and understanding about stuff like this with no one really seeming to be upset that we made the decision we did</strong>.&#8217;)</li>
<li><a title="And the winner is..." href="http://mail.python.org/pipermail/python-dev/2009-March/087931.html" target="_blank">http://mail.python.org/pipermail/python-dev/2009-March/087931.html</a> (&#8216;<em>Dear Python developers,The decision is made! I&#8217;ve selected a DVCS to use for Python. We&#8217;re switching to Mercurial (Hg). The implementation and schedule is still up in the air &#8212; I am hoping that we can switch before the summer</em>.&#8217;)</li>
</ul>
<p><strong>A voir </strong></p>
<ul>
<li><a title="Python mercurial repositories" href="http://code.python.org/hg" target="_blank">http://code.python.org/hg</a>/</li>
<li><a title="PEP 374" href="http://www.python.org/dev/peps/pep-0374/" target="_blank">http://www.python.org/dev/peps/pep-0374/</a> (<em>&#8216;Migrating from svn to a distributed VCS</em>&#8216;)</li>
<li><a title="Mercurial" href="http://en.wikipedia.org/wiki/Mercurial_(software)" target="_blank">http://en.wikipedia.org/wiki/Mercurial_(software)</a> (&#8216;<strong> <em>Mercurial</em></strong><em> is a <a title="Cross-platform" href="http://en.wikipedia.org/wiki/Cross-platform">cross-platform</a>, <a title="Distributed revision control" href="http://en.wikipedia.org/wiki/Distributed_revision_control">distributed revision control</a> tool for <a title="Software developer" href="http://en.wikipedia.org/wiki/Software_developer">software developers</a>. It is mainly implemented using the <a title="Python (programming language)" href="http://en.wikipedia.org/wiki/Python_%28programming_language%29">Python programming language</a>, but includes a binary <a title="Diff" href="http://en.wikipedia.org/wiki/Diff">diff</a> implementation written in <a title="C (programming language)" href="http://en.wikipedia.org/wiki/C_%28programming_language%29">C</a>. Mercurial was initially written to run on Linux. It has been ported to <a title="Microsoft Windows" href="http://en.wikipedia.org/wiki/Microsoft_Windows">Windows</a>, <a title="Mac OS X" href="http://en.wikipedia.org/wiki/Mac_OS_X">Mac OS X</a>, and most other <a title="Unix-like" href="http://en.wikipedia.org/wiki/Unix-like">Unix-like</a> systems. Mercurial is primarily a <a class="mw-redirect" title="Command line interface" href="http://en.wikipedia.org/wiki/Command_line_interface">command line</a> program. All of Mercurial&#8217;s operations are invoked as keyword options to its driver program <tt>hg</tt>, a reference to the <a title="Chemical symbol" href="http://en.wikipedia.org/wiki/Chemical_symbol">chemical symbol</a> of the element <a title="Mercury (element)" href="http://en.wikipedia.org/wiki/Mercury_%28element%29">mercury</a>. Mercurial&#8217;s major design goals include high performance and scalability, decentralized, fully distributed collaborative development, robust handling of both <a title="Plain text" href="http://en.wikipedia.org/wiki/Plain_text">plain text</a> and <a title="Binary file" href="http://en.wikipedia.org/wiki/Binary_file">binary files</a>, and advanced branching and merging capabilities, while remaining conceptually simple <sup class="reference"><a href="http://en.wikipedia.org/wiki/Mercurial_%28software%29#cite_note-0"><span>[</span>1<span>]</span></a></sup>. It includes an integrated web interface.The creator and lead developer of Mercurial is <a class="new" title="Matt Mackall (page does not exist)" href="http://en.wikipedia.org/w/index.php?title=Matt_Mackall&amp;action=edit&amp;redlink=1">Matt Mackall</a>. The <a title="Source code" href="http://en.wikipedia.org/wiki/Source_code">source code</a> is available under the terms of the <a title="GNU General Public License" href="http://en.wikipedia.org/wiki/GNU_General_Public_License">GNU General Public License</a> version 2, qualifying Mercurial as <a title="Free software" href="http://en.wikipedia.org/wiki/Free_software">free software</a></em>.&#8217;)
<ul>
<li><a title="Mercurial related software" href="http://en.wikipedia.org/wiki/Mercurial_(software)#Related_software" target="_blank">http://en.wikipedia.org/wiki/Mercurial_(software)#Related_software</a></li>
</ul>
</li>
<li><a title="Hgview" href="http://pypi.python.org/pypi/hgview/" target="_blank">http://pypi.python.org/pypi/hgview/</a> (mercurial interactive history viewer. Its purpose is similar to the hgk tool of mercurial, and it has been written with efficiency in mind when dealing with big repositories (it can happily be used to browse Linux kernel source code repository).)</li>
</ul>
<p><strong>Pycon 2009</strong></p>
<ul>
<li><a title="Pycon 2009 videos" href="http://pycon.blogspot.com/2009/04/all-pycon-2009-videos-uploading.html" target="_blank">http://pycon.blogspot.com/2009/04/all-pycon-2009-videos-uploading.html</a> (&#8216;<em>The video team has pulled the trigger and <a href="http://pycon.blip.tv/">all the video from the conference</a> is being uploaded now. At the time of this post about 14 talks are now online. By the end of the day Friday, almost everything should be available (with a few minor exceptions). The videos are also integrated into the <a href="http://us.pycon.org/2009/conference/schedule/">PyCon Schedule App</a> as well, with a minor lag time. Just look for the tiny video icon: <img src="http://us.pycon.org/media/2009/schedule/img/16-image.png" border="0" alt="" />.<br />
<span style="color:#ff0000;"><strong>Congratulations to the entire PyCon US 2009 volunteer video team for performing this Herculean task</strong></span>. In total 2.2TB of video, covering 168 hours of material, were collected, edited, transcoded, and uploaded. This is divided into 96 hours from the tutorials and 72 hours from the main conference</em>.&#8217;)</li>
</ul>
<p><strong>A voir</strong></p>
<ul>
<li><a title="Pycon 2009" href="http://holdenweb.blogspot.com/2009/03/pycon-proves-its-worth.html" target="_blank">http://holdenweb.blogspot.com/2009/03/pycon-proves-its-worth.html </a>(&#8216;<em>Here&#8217;s a great quote from Catherine Devlin&#8217;s blog post <a href="http://catherinedevlin.blogspot.com/2009/03/five-minutes-at-pycon-change-everything.html"><span style="font-style:italic;">Five Minutes at PyCon Changes Everything</span></a> reporting the unexpected recruitment of a high-powered development team after giving a lightning talk:</em><br />
<blockquote><p><em>If I&#8217;d had $1 million of startup funding to hire a staff to work on sqlpython, I couldn&#8217;t have gotten a team that large or that talented. I figure that gives me better than a 1000-to-1 return on my PyCon investment. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </em> &#8216;)</p></blockquote>
</li>
<li><a title="pycon 2009 conferences" href="http://us.pycon.org/2009/conference/schedule" target="_blank">http://us.pycon.org/2009/conference/schedule</a>/</li>
</ul>
<p><strong>Python 3.1a2 release</strong></p>
<ul>
<li><a title="Python 3.1a2 release" href="http://mail.python.org/pipermail/python-dev/2009-April/088213.htm" target="_blank">http://mail.python.org/pipermail/python-dev/2009-April/088213.htm</a>l (&#8216; On behalf of the Python development team, I&#8217;m thrilled to announce the second alpha release of Python 3.1. Python 3.1 focuses on the stabilization and optimization of features and changes Python 3.0 introduced.  For example, the new I/O system has been rewritten in C for speed.  Other features include an ordered dictionary implementation and support for ttk Tile in Tkinter.  For a more extensive list of changes in 3.1, see <a href="http://doc.python.org/dev/py3k/whatsnew/3.1.html">http://doc.python.org/dev/py3k/whatsnew/3.1.html</a> or Misc/NEWS in the Python distribution.Please note that this is an alpha release, and as such is not suitable for production environments.  We continue to strive for a high degree of quality ,but there are still some known problems and the <strong>feature sets have not been finalized</strong>.  This alpha is being released to solicit feedback and hopefully discover bugs, as well as allowing you to determine how changes in 3.1 might impact you.  If you find things broken or incorrect, please submit a bug report at      <a href="http://bugs.python.org/">http://bugs.python.org</a>. For more information and downloadable distributions, see the Python 3.1 website:
<ul>
<li> <a href="http://www.python.org/download/releases/3.1/">http://www.python.org/download/releases/3.1/.</a></li>
<li> <a href="http://www.python.org/dev/peps/pep-0375/">http://www.python.org/dev/peps/pep-0375/</a>&#8216;)</li>
</ul>
</li>
<li><strong><a title="python 3.1a2 release" href="http://code.python.org/hg/branches/py3k/file/202c0c7f1c1d/Misc/NEWS" target="_blank">http://code.python.org/hg/branches/py3k/file/202c0c7f1c1d/Misc/NEWS</a><br />
</strong></li>
</ul>
Posted in 2009, bazaar, Gestion de version, Git, mercurial Tagged: and the winner is..., hgview, PEP 374, pycon 2009, python 3.1a2 <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pvergain.wordpress.com/417/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pvergain.wordpress.com/417/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pvergain.wordpress.com/417/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pvergain.wordpress.com/417/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pvergain.wordpress.com/417/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pvergain.wordpress.com/417/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pvergain.wordpress.com/417/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pvergain.wordpress.com/417/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pvergain.wordpress.com/417/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pvergain.wordpress.com/417/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvergain.wordpress.com&blog=696018&post=417&subd=pvergain&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://pvergain.wordpress.com/2009/04/05/quelques-nouvelles-de-python-python-31a2-release-switching-to-mercurial-pycon-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9a2b1985a6f239af4bcfaa1f6199b5d4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pvergain</media:title>
		</media:content>

		<media:content url="http://us.pycon.org/media/2009/schedule/img/16-image.png" medium="image" />
	</item>
		<item>
		<title>Systèmes de gestion de versions: subversion, bazaar</title>
		<link>http://pvergain.wordpress.com/2009/03/22/systeme-de-gestion-de-verssysteme-de-gestion-de-versions-subversion-bazaar/</link>
		<comments>http://pvergain.wordpress.com/2009/03/22/systeme-de-gestion-de-verssysteme-de-gestion-de-versions-subversion-bazaar/#comments</comments>
		<pubDate>Sun, 22 Mar 2009 21:09:02 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[2009]]></category>
		<category><![CDATA[Gestion de version]]></category>
		<category><![CDATA[bazaar]]></category>
		<category><![CDATA[subversion]]></category>

		<guid isPermaLink="false">http://pvergain.wordpress.com/?p=408</guid>
		<description><![CDATA[Beauccoup de mouvements encore autour des systèmes de gestion de versions distribuées git, mercurial et bazaar:
- http://arstechnica.com/open-source/news/2009/03/sourceforge-adds-support-for-new-version-control-systems.ars (&#8216;SourceForge has launched support for Git, Bazaar, and Mercurial, the three most popular distributed version control systems. The site has also added an impressive new hosted application feature which will allow users to run various open source project [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvergain.wordpress.com&blog=696018&post=408&subd=pvergain&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Beauccoup de mouvements encore autour des<a title="DVCS " href="http://en.wikipedia.org/wiki/Distributed_Version_Control_System" target="_blank"> systèmes de gestion de versions distribuées</a> git, mercurial et bazaar:</p>
<p>- <a title="DVCS on sourceforge" href="http://arstechnica.com/open-source/news/2009/03/sourceforge-adds-support-for-new-version-control-systems.ars" target="_blank">http://arstechnica.com/open-source/news/2009/03/sourceforge-adds-support-for-new-version-control-systems.ars</a> (&#8216;SourceForge has launched support for Git, Bazaar, and Mercurial, the three most popular distributed version control systems. The site has also added an impressive new hosted application feature which will allow users to run various open source project management and collaboration services—including Trac, Mantis, and phpBB—on SourceForge&#8217;s infrastructure. Although SourceForge was once the dominant collaboration service for open source software, its relevance declined sharply over the past few years as it stagnated and lost ground to emerging competitors. The trend towards distributed version control systems (DVCS) looked like it would be the final nail in the coffin, but now SourceForge is preparing to make a major comeback. The Web service has gained support for Git, Mercurial, and Bazaar, the three most popular distributed version control systems. This brings the site&#8217;s total number of supported source code management technologies to five, including its existing support for CVS and Subversion. DVCS is a major technical advancement in the area of source code management. The approach offers developers an unprecedented level of power and flexibility. The three major DVCS systems have all been used to build robust project management and code hosting services—such as GitHub, Launchpad, and BitBucket—which are rapidly displacing SourceForge. Here at Ars, our Web ninjas use GitHub extensively for managing the source code that powers our website. I personally use Launchpad for several of my own projects.&#8217;)</p>
<p><strong>Passage de CVS à subversion pour la documentation Debian </strong>(il y a un an mais mieux vaut tard que jamais pour que le signale <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )</p>
<p>- <a title="CVS to subversion" href="http://www.ouaza.com/wp/2008/03/03/ddp-went-svn-webml-might-follow/" target="_blank">http://www.ouaza.com/wp/2008/03/03/ddp-went-svn-webml-might-follow/ </a>(&#8216;The topic of switching from CVS to something else regularly came forward but nobody did anything. The net result is that several documentation are now maintained outside of the debian-doc repository because their respective maintainers didn’t want to stay with CVS. After noticing that the developers-reference also switched to SVN, I <a href="http://lists.debian.org/debian-doc/2008/03/msg00001.html">decided to convert</a> the whole debian-doc CVS repository and import it in the new <a href="http://svn.debian.org/wsvn/ddp/manuals/trunk/?rev=0&amp;sc=0">“ddp” SVN repository</a> on Alioth. This is now <a href="http://lists.debian.org/debian-doc/2008/03/msg00002.html">done</a>. Hopefully, the Debian Documentation Project can now again become the central place for writing good documentation about Debian. New contributors can be easily added through the <a href="http://alioth.debian.org/projects/ddp/">DDP Alioth project</a>. Volunteers are welcome to review what’s in the SVN and move obsolete documentation aside. People who moved away are welcome back. <img class="wp-smiley" src="http://www.ouaza.com/wp/wp-includes/images/smilies/icon_smile.gif" alt=":-)" />&#8216;)</p>
<p><strong>Passage de sourceforge à launchpad </strong>(<a title="mailman on launchpad" href="https://code.launchpad.net/mailman" target="_blank">https://code.launchpad.net/mailman</a>)</p>
<p>- <a title="launchpad" href="http://blog.launchpad.net/general/why-launchpad-for-mailman" target="_blank">http://blog.launchpad.net/general/why-launchpad-for-mailman </a>(&#8216;Over the last 18 months, I’ve moved <a href="http://www.list.org/">GNU Mailman</a> development from SourceForge to <a href="http://launchpad.net/mailman">Launchpad</a>.  The reasons are varied. Mailman was one of the first projects hosted on SourceForge ages ago.  I think our project id is a pride-inducing low 103, and we were even highlighted as its Project of the Month at one point.  Of course SF itself uses Mailman to serve its own mailing lists.  While the SF guys have always been great (including providing assistance during the migration to LP), I just became increasingly roadblocked by it.</p>
<p>The first major motivation for moving was <a href="http://bazaar-vcs.org/">Bazaar</a>. This is of course the GPL’d distributed version control system developed by Canonical and used for code hosting on Launchpad.  Having come from decades of SCCS/RCS/CVS/SVN use, distributed version control systems in general and Bazaar in particular have been an enlightenment on the order of learning <a href="http://www.python.org/">Python</a>.  I mean, who’d have thunk a version control system could be fun?</p>
<p>After we moved code hosting to Bazaar on LP, evaluating the other benefits of Launchpad became easier.  Truth be told, there was (and still is) some resistance in the community to moving to LP because Mailman is a GNU project but LP is not open source.  That’s being <a href="https://dev.launchpad.net/OpenSourcing">fixed</a>. The next service to migrate was the tracker, and thanks to the excellent assistance of my colleague Graham Binns, we were able to migrate the SF issues to LP.  For years, even before I joined Canonical, I let the Mailman tracker languish because I found it so difficult to use.  The simplicity and power of Launchpad’s tracker really shines for me here, especially with its ability to link across projects and artifacts (e.g. branches linked to bugs).&#8217;)</p>
<p>A voir:</p>
<p>- <a title="Subversion on sourceforge" href="http://sourceforge.net/softwaremap/trove_list.php?form_cat=646" target="_blank">http://sourceforge.net/softwaremap/trove_list.php?form_cat=646 </a></p>
<p>-<a title="Subversion on wikipedia" href="http://en.wikipedia.org/wiki/Subversion_(software)" target="_blank"> http://en.wikipedia.org/wiki/Subversion_(software) </a>(&#8216;<strong>Subversion</strong> (<strong>SVN</strong>) is a <a title="Revision control" href="http://en.wikipedia.org/wiki/Revision_control">version control</a> system initiated in 2000 by <a title="CollabNet" href="http://en.wikipedia.org/wiki/CollabNet">CollabNet</a> Inc. It is used to maintain current and historical versions of files such as <a title="Source code" href="http://en.wikipedia.org/wiki/Source_code">source code</a>, web pages, and documentation. Its goal is to be a mostly-compatible successor to the widely used <a title="Concurrent Versions System" href="http://en.wikipedia.org/wiki/Concurrent_Versions_System">Concurrent Versions System</a> (CVS). Subversion is well-known in the open source community and is used on many open source projects, including <a title="Apache Software Foundation" href="http://en.wikipedia.org/wiki/Apache_Software_Foundation">Apache Software Foundation</a>, <a title="KDE" href="http://en.wikipedia.org/wiki/KDE">KDE</a>, <a title="GNOME" href="http://en.wikipedia.org/wiki/GNOME">GNOME</a>, <a title="Free Pascal" href="http://en.wikipedia.org/wiki/Free_Pascal">Free Pascal</a>, <a title="FreeBSD" href="http://en.wikipedia.org/wiki/FreeBSD">FreeBSD</a>, <a title="GNU Compiler Collection" href="http://en.wikipedia.org/wiki/GNU_Compiler_Collection">GCC</a>, <a title="Python (programming language)" href="http://en.wikipedia.org/wiki/Python_%28programming_language%29">Python</a>, <a title="Django (web framework)" href="http://en.wikipedia.org/wiki/Django_%28web_framework%29">Django</a>, <a title="Ruby (programming language)" href="http://en.wikipedia.org/wiki/Ruby_%28programming_language%29">Ruby</a>, <a title="Mono (software)" href="http://en.wikipedia.org/wiki/Mono_%28software%29">Mono</a>, <a title="SourceForge.net" href="http://en.wikipedia.org/wiki/SourceForge.net">SourceForge.net</a>, <a class="mw-redirect" title="ExtJS" href="http://en.wikipedia.org/wiki/ExtJS">ExtJS</a> and <a title="Tigris.org" href="http://en.wikipedia.org/wiki/Tigris.org">Tigris.org</a>. <a title="Google Code" href="http://en.wikipedia.org/wiki/Google_Code">Google Code</a> also provides Subversion hosting for their open source projects. <a title="BountySource" href="http://en.wikipedia.org/wiki/BountySource">BountySource</a> systems use it exclusively. <a class="mw-redirect" title="Codeplex" href="http://en.wikipedia.org/wiki/Codeplex">Codeplex</a> offers access to both subversion as well as other types of clients. Subversion is also being adopted in the corporate world. In a 2007 report by <a title="Forrester Research" href="http://en.wikipedia.org/wiki/Forrester_Research">Forrester Research</a>, Subversion was recognized as the sole leader in the Standalone Software Configuration Management (SCM) category and a strong performer in the Software Configuration and Change Management (SCCM) category.<sup class="reference"><a href="http://en.wikipedia.org/wiki/Subversion_%28software%29#cite_note-0"><span>[</span>1<span>]</span></a></sup> Subversion is released under the <a title="Apache License" href="http://en.wikipedia.org/wiki/Apache_License">Apache License</a>, making it <a title="Free software" href="http://en.wikipedia.org/wiki/Free_software">free software</a>. &#8216;)</p>
<p>-<a title="Subversion" href="http://subversion.tigris.org/development.html" target="_blank"> http://subversion.tigris.org/development.html</a> (&#8216; The best way to get involved in Subversion development is to <a href="http://subversion.tigris.org/hacking.html#patches">submit a patch</a> to fix a bug or add a new feature.  If you don&#8217;t know what to write a patch for, have a look at the <a href="http://subversion.tigris.org/issue-tracker.html#find">list of open issues</a>. Subversion development discussion takes place on the mailing list <a href="mailto:dev@subversion.tigris.org">dev@subversion.tigris.org</a>. You don&#8217;t need to subscribe to the list just to <a href="http://subversion.tigris.org/hacking.html#patches">submit a patch</a> or two, but if you want to be involved with Subversion development on a regular basis, you should subscribe.  It&#8217;s high-traffic, but threading tends to be fairly disciplined, so you can ignore conversations you aren&#8217;t interested in. For real-time chat, developers use the IRC channel <a href="irc://irc.freenode.net/svn-dev">irc.freenode.net/svn-dev</a> (some also hang out in the user-support channel, <a href="irc://irc.freenode.net/svn">irc.freenode.net/svn</a>).&#8217;)</p>
<p>-<a title="Subversion book" href="http://svnbook.red-bean.com/" target="_blank"> http://svnbook.red-bean.com/</a> (&#8216;This is the online home of <span style="text-decoration:underline;">Version    Control with Subversion</span>,    a <a href="http://svnbook.red-bean.com/en/1.1/ape.html">free</a> book about <a href="http://subversion.tigris.org/">Subversion</a>, a    new version control system designed to supplant CVS.  As you may    have guessed from the layout of this page, this book is published by    <a href="http://www.oreilly.com/catalog/0596004486/">O&#8217;Reilly Media</a>. This is a place to    read HTML and PDF versions of the book (although you can certainly    <a href="http://svnbook.red-bean.com/buy/">buy</a> a copy if you&#8217;d like to).  We&#8217;ll do our best    to keep the site up-to-date.  As Subversion development continues, the    product will continue to grow new features, and we plan to continue    documenting those changes.&#8217;)</p>
<p>- <a title="Subversion sources" href="http://svn.collab.net/viewvc/svn/trunk/" target="_blank">http://svn.collab.net/viewvc/svn/trunk/</a> (sources de subversion)</p>
<ul>
<li>- <a title="Subversion hacking" href="http://subversion.tigris.org/hacking.html" target="_blank">http://subversion.tigris.org/hacking.html </a>
<ul>
<li><a title="Subversion branch" href="http://subversion.tigris.org/hacking.html#branch-based-development" target="_blank">http://subversion.tigris.org/hacking.html#branch-based-development </a>(&#8216;<strong>We prefer to have development performed on the trunk</strong>.  Changes made to trunk have the highest visibility and get the greatest amount of exercise that can be expected from unreleased code.  That said, trunk is expected at all times to be stable.  It should build.  It should work.  Those policies, combined with our preference to see large changes broken up and committed in the smallest logical chunks feasible, and applied to particularly large changes (new features, sweeping code reorganizations, etc.), makes for set of rules that are almost impossible to keep.  It is in those situations that you might consider using a custom branch dedicated to your development task. The following are some guidelines to make your branch-based development work go smoothly&#8230;
<div id="branch-creation-and-management" class="h3">
<h3>Branch creation and management</h3>
<p>There&#8217;s nothing particularly complex about branch-based development.  You make a branch from the trunk (or from whatever branch best serves as both source and destination for your work), and you do your work on it.  Subversion&#8217;s merge tracking feature has greatly helped to reduce the sort of mental overhead required to work in this way, so making good use of that feature (by using Subversion 1.5 or newer clients, and by performing all merges to and from the roots of branches) is highly encouraged.&#8217;)</p></div>
</li>
<li>
<pre> svn co http://svn.collab.net/repos/svn/trunk  (intéressant, il y ade très nombreux scripts python)</pre>
</li>
<li>à suivre&#8230;</li>
</ul>
</li>
</ul>
Posted in 2009, bazaar, Gestion de version, subversion  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pvergain.wordpress.com/408/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pvergain.wordpress.com/408/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pvergain.wordpress.com/408/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pvergain.wordpress.com/408/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pvergain.wordpress.com/408/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pvergain.wordpress.com/408/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pvergain.wordpress.com/408/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pvergain.wordpress.com/408/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pvergain.wordpress.com/408/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pvergain.wordpress.com/408/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvergain.wordpress.com&blog=696018&post=408&subd=pvergain&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://pvergain.wordpress.com/2009/03/22/systeme-de-gestion-de-verssysteme-de-gestion-de-versions-subversion-bazaar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9a2b1985a6f239af4bcfaa1f6199b5d4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pvergain</media:title>
		</media:content>

		<media:content url="http://www.ouaza.com/wp/wp-includes/images/smilies/icon_smile.gif" medium="image">
			<media:title type="html">:-)</media:title>
		</media:content>
	</item>
		<item>
		<title>Python package management: &#8220;using pip requirements&#8221; from Ian Bicking</title>
		<link>http://pvergain.wordpress.com/2008/12/17/python-package-management-using-pip-requirements-from-ian-bicking/</link>
		<comments>http://pvergain.wordpress.com/2008/12/17/python-package-management-using-pip-requirements-from-ian-bicking/#comments</comments>
		<pubDate>Wed, 17 Dec 2008 21:40:26 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[2008]]></category>
		<category><![CDATA[Distribution de logiciel]]></category>
		<category><![CDATA[Gestion de version]]></category>
		<category><![CDATA[Génie logiciel]]></category>
		<category><![CDATA[Intégration continue]]></category>
		<category><![CDATA[package_management]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[Ian Bicking]]></category>
		<category><![CDATA[pip]]></category>
		<category><![CDATA[pip  requirements]]></category>

		<guid isPermaLink="false">http://pvergain.wordpress.com/?p=299</guid>
		<description><![CDATA[Un article très dense et très instructif de Ian Bicking reproduit dans son intégralité:
Source: http://blog.ianbicking.org/2008/12/16/using-pip-requirements/
================================


Following onto a set of recent posts (from James, me, then James again), Martijn Faassen wrote a description of Grok’s version management.  Our ideas are pretty close, but he’s using buildout, and I’ll describe out to do the same things [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvergain.wordpress.com&blog=696018&post=299&subd=pvergain&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Un article très dense et très instructif de Ian Bicking reproduit dans son intégralité:</p>
<p>Source: <a title="pip requirements" href="http://blog.ianbicking.org/2008/12/16/using-pip-requirements/" target="_blank">http://blog.ianbicking.org/2008/12/16/using-pip-requirements/</a></p>
<p>================================</p>
<div class="post-entry">
<div class="document">
<p>Following onto a set of recent posts (from <a class="reference external" href="http://www.b-list.org/weblog/2008/dec/14/packaging/">James</a>, <a class="reference external" href="http://blog.ianbicking.org/2008/12/14/a-few-corrections-to-on-packaging/">me</a>, then <a class="reference external" href="http://www.b-list.org/weblog/2008/dec/15/pip/">James again</a>), Martijn Faassen <a class="reference external" href="http://faassen.n--tree.net/blog/view/weblog/2008/12/16/0">wrote a description of Grok’s version management</a>.  Our ideas are pretty close, but he’s using buildout, and I’ll describe out to do the same things with pip.</p>
<p>Here’s a kind of development workflow that I think works well:</p>
<ul class="simple">
<li>A framework release is prepared.  Ideally there’s a buildbot that has been running (as <a class="reference external" href="http://pylonshq.com:8010/">Pylons has</a>, for example), so the integration has been running for a while.</li>
<li>People make sure there are released versions of all the important components. If there are known conflicts between pieces, libraries and the framework update their <tt class="docutils literal"><span class="pre">install_requires</span></tt> in their <tt class="docutils literal"><span class="pre">setup.py</span></tt> files to make sure people don’t use conflicting pieces together.</li>
<li>Once everything has been released, there is a known set of packages that work together. Using a buildbot maybe future versions will also work together, but they won’t necessarily work together with applications built on the framework. And breakage can also occur regardless of a buildbot.</li>
<li>Also, people may have versions of libraries already installed, but just because they’ve installed something doesn’t mean they really mean to stay with an old version. While known conflicts have been noted, there’s going to be lots of unknown conflicts and future conflicts.</li>
<li>When starting development with a framework, the developer would like to start with some known-good set, which is a set that can be developed by the framework developers, or potentially by any person. For instance, if you extend a public framework with an internal framework (or even a public sub-framework like <a class="reference external" href="http://pinaxproject.com/">Pinax</a>) then the known-good set will be developed by a different set of people.</li>
<li>As an application is developed, the developer will add on other libraries, or use some of their own libraries. Development will probably occur at the trunk/tip of several libraries as they are developed together.</li>
<li>A developer might upgrade the entire framework, or just upgrade one piece (for instance, to get a bug fix they are interested in, or follow a branch that has functionality they care about). The developer doesn’t necessarily have the same notion of &#8220;stable&#8221; and &#8220;released&#8221; as the core framework developers have.</li>
<li>At the time of deployment the developer wants to make sure all the pieces are deployed together as they’ve tested them, and how they know them to work. At any time, another developer may want to clone the same set of libraries.</li>
<li>After initial deployment, the developer may want to upgrade a single component, if only to test that an upgrade works, or if it resolves a bug. They may test out combinations only to throw them away, and they don’t want to bump versions of libraries in order to deploy new combinations.</li>
</ul>
<p>This is the kind of development pattern that requirement files are meant to assist with. They can provide a known-good set of packages. Or they can provide a starting point for an active line of development. Or they can provide a historical record of how something was put together.</p>
<p>The easy way to start a requirement file for pip is just to put the packages you know you want to work with. For instance, we’ll call this <tt class="docutils literal"><span class="pre">project-start.txt</span></tt>:</p>
<pre class="brush: python;">Pylons
-e svn+http://mycompany/svn/MyApp/trunk#egg=MyApp
-e svn+http://mycompany/svn/MyLibrary/trunk#egg=MyLibrary</pre>
<p>You can plug away for a while, and maybe you decide you want to freeze the file.  So you do:
<pre class="brush: python;">$ pip freeze -r project-start.txt project-frozen.txt</pre>
<p>By using <tt class="docutils literal"><span class="pre">-r</span> <span class="pre">project-start.txt</span></tt> you give <tt class="docutils literal"><span class="pre">pip</span> <span class="pre">freeze</span></tt> a template for it to start with.  From that, you’ll get <tt class="docutils literal"><span class="pre">project-frozen.txt</span></tt> that will look like:
<pre class="brush: python;">Pylons==0.9.7
-e svn+http://mycompany/svn/MyApp/trunk@1045#egg=MyApp
-e svn+http://mycompany/svn/MyLibrary/trunk@1058#egg=MyLibrary</pre>
<p>## The following requirements were added by pip &#8211;freeze:</p>
<pre class="brush: python;">Beaker==0.2.1
WebHelpers==0.9.1
nose==1.4
# Installing as editable to satisfy requirement INITools==0.2.1dev-r3488:
-e svn+http://svn.colorstudy.com/INITools/trunk@3488#egg=INITools-0.2.1dev_r3488</pre>
<p>At that point you might decide that you don’t care about the nose version, or you might have installed something from trunk when you could have used the last release. So you go and adjust some things.</p>
<p>Martijn also asks: how do you have framework developers maintain one file, and then also have developers maintain their own lists for their projects?</p>
<p>You could start with a file like this for the framework itself. Pylons for instance could ship with something like this. To install Pylons you could then do:
<pre class="brush: python;">$ pip -E MyProject install  -r http://pylonshq.com/0.9.7-requirements.txt</pre>
<p>You can also download that file yourself, add some comments, rename the file and add your project to it, and use that. When you freeze the order of the packages and any comments will be preserved, so you can keep track of what changed. Also it should be ameniable to source control, and diffs would be sensible.</p>
<p>You could also use indirection, creating a file like this for your project:</p>
<pre class="brush: python;">-r http://pylonshq.com/0.9.7-requirements.txt
-e svn+http://mycompany/svn/MyApp/trunk#egg=MyApp

-e svn+http://mycompany/svn/MyLibrary/trunk#egg=MyLibrary</pre>
<p>That is, requirements files can refer to each other. So if you want to maintain your own requirements file alongside the development of an upstream requirements file, you could do that.</p></div>
</div>
Posted in 2008, Distribution de logiciel, Génie logiciel, Gestion de version, Intégration continue, package_management, python Tagged: Ian Bicking, pip, pip  requirements <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pvergain.wordpress.com/299/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pvergain.wordpress.com/299/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pvergain.wordpress.com/299/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pvergain.wordpress.com/299/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pvergain.wordpress.com/299/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pvergain.wordpress.com/299/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pvergain.wordpress.com/299/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pvergain.wordpress.com/299/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pvergain.wordpress.com/299/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pvergain.wordpress.com/299/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvergain.wordpress.com&blog=696018&post=299&subd=pvergain&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://pvergain.wordpress.com/2008/12/17/python-package-management-using-pip-requirements-from-ian-bicking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9a2b1985a6f239af4bcfaa1f6199b5d4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pvergain</media:title>
		</media:content>
	</item>
		<item>
		<title>Python package management: critiques de setuptools et louanges de pip et virtualenv</title>
		<link>http://pvergain.wordpress.com/2008/12/16/python-package-management-critiques-de-setuptools-et-louanges-de-pip-et-virtualenv/</link>
		<comments>http://pvergain.wordpress.com/2008/12/16/python-package-management-critiques-de-setuptools-et-louanges-de-pip-et-virtualenv/#comments</comments>
		<pubDate>Mon, 15 Dec 2008 22:03:51 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[2008]]></category>
		<category><![CDATA[Distribution de logiciel]]></category>
		<category><![CDATA[Gestion de version]]></category>
		<category><![CDATA[Génie logiciel]]></category>
		<category><![CDATA[package_management]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[Add new tag]]></category>
		<category><![CDATA[google app engine]]></category>
		<category><![CDATA[Ian Bicking]]></category>
		<category><![CDATA[pip]]></category>
		<category><![CDATA[setuptools]]></category>
		<category><![CDATA[tark riade]]></category>
		<category><![CDATA[virtualenv]]></category>
		<category><![CDATA[zipping library]]></category>

		<guid isPermaLink="false">http://pvergain.wordpress.com/?p=289</guid>
		<description><![CDATA[La compréhension de la gestion des packages Python est devenue essentielle avec l&#8217;arrivée de 2 nouvelles versions de Python: python 2.6 et Python 3000 (ou Python 3k)
Voici quelques articles récents:
- http://blog.ianbicking.org/2008/12/14/a-few-corrections-to-on-packaging/ (&#8216;James Bennett recently wrote an article on Python packaging and installation, and Setuptools. There’s a lot of issues, and writing up my thoughts could [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvergain.wordpress.com&blog=696018&post=289&subd=pvergain&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>La compréhension de la gestion des packages Python est devenue essentielle avec l&#8217;arrivée de 2 nouvelles versions de Python: python 2.6 et Python 3000 (ou Python 3k)</p>
<p>Voici quelques articles récents:</p>
<p>- <a title="Ian Bicking package management" href="http://blog.ianbicking.org/2008/12/14/a-few-corrections-to-on-packaging/" target="_blank">http://blog.ianbicking.org/2008/12/14/a-few-corrections-to-on-packaging/</a> (&#8216;<em><a class="reference external" href="http://www.b-list.org/weblog/2008/dec/14/packaging/">James Bennett recently wrote an article on Python packaging and installation</a>, and Setuptools. There’s a lot of issues, and writing up my thoughts could take a long time, but I thought at least I should correct some errors, specifically category errors. Figuring out where all the pieces in Setuptools (and pip and virtualenv) fit <em>is</em> difficult</em>&#8230;</p>
<p>&#8230;</p>
<dl class="docutils">
<dt>pip:</dt>
<dd>This is an alternative to easy_install.  It works <em>somewhat</em> differently than easy_install, but not much.  Mostly it is <em>better</em> than easy_install, in that it has some extra features and is easier to use. Unlike easy_install, it downloads all distributions up-front, and generates the metadata to read distribution and version requirements. It uses Setuptools to generate this metadata from a setup.py file, and uses pkg_resources to parse this metadata. It then installs packages <em>with the setuptools monkeypatches applied</em>.  It just happens to use an option <tt class="docutils literal"><span class="pre">python</span> <span class="pre">setup.py</span> <span class="pre">–single-version-externally-managed</span></tt>, which gets Setuptools to install packages in a more flat manner, with <tt class="docutils literal"><span class="pre">Distro.egg-info/</span></tt> directories alongside the package. Pip installs eggs! I’ve heard the many complaints about easy_install (and I’ve had many myself), but ultimately I think pip does well by just fixing a few small issues. Pip is <em>not</em> a repudiation of Setuptools or the basic mechanisms that easy_install uses.</dd>
</dl>
<dl class="docutils">
<dt>virtualenv:</dt>
<dd>This is a little hack that creates isolated Python environments.  It’s based on <tt class="docutils literal"><span class="pre">virtual-python.py</span></tt>, which is something I wrote based on some documentation notes PJE wrote for Setuptools.  Basically virtualenv just creates a <tt class="docutils literal"><span class="pre">bin/python</span></tt> interpreter that has its own value of <tt class="docutils literal"><span class="pre">sys.prefix</span></tt>, but uses the system Python and standard library. It also installs Setuptools to make it easier to bootstrap the environment (because bootstrapping Setuptools is itself a bit tedious). I’ll add pip to it too sometime. Using virtualenv you don’t have to worry about different library versions, because for any one environment you will probably only need one version of a library. On any one <em>machine</em> you probably need different versions, which is why installing packages system-wide is problematic for most libraries. (I’ve been meaning to write a post on why I think using system packaging for libraries is counter-productive, but that’ll wait for another time.</dd>
</dl>
<p><em>&#8230;I don’t think zipping libraries up is all that useful, and while it <em>should</em> work, it doesn’t always, and it makes code harder to inspect and understand. So since it’s not that useful, I’ve disabled it when pip installs packages. I also have had it disabled on my own system for years now, by creating a <tt class="docutils literal"><span class="pre">distutils.cfg</span></tt> file with <tt class="docutils literal"><span class="pre">[easy_install]</span> <span class="pre">zip_ok</span> <span class="pre">=</span> <span class="pre">False</span></tt> in it. Sadly App Engine is forcing me to use zip files again, because of its absurdly small file limits… but that’s a different topic. (There is an experimental <tt class="docutils literal"><span class="pre">pip</span> <span class="pre">zip</span></tt> command mostly intended for App Engine.</em></p>
<p>&#8230;Another pain point is version management with <tt class="docutils literal"><span class="pre">setup.py</span></tt> and Setuptools. Indeed it is easy to get things messed up, and it is easy to piss people off by overspecifying, and sometimes things can get in a weird state for no good reason (often because of easy_install’s rather naive leap-before-you-look installation order). Pip fixes that last point, but it also tries to suggest more constructive and less painful ways to manage other pieces.</p>
<p>Pip requirement files are an assertion of <strong>versions that work together</strong>.  setup.py requirements (the Setuptools requirements) should contain two things: <strong>1</strong>: all the libraries used by the distribution (without which there’s no way it’ll work) and <strong>2</strong>: exclusions of the versions of those libraries that are <strong>known not to work</strong>.  setup.py requirements should not be viewed as an assertion that by satisfying those requirements everything <em>will</em> work, just that it <em>might</em> work. Only the end developer, testing the system together, can figure out if it really works. Then pip gives you a way to record that working set (using <a class="reference external" href="http://pip.openplans.org/#freezing-requirements">pip freeze</a>), separate from any single distribution or library&#8230;.</p>
<p class="comment-metadata">&#8230;<strong><a rel="external nofollow" href="http://tarekziade.wordpress.com/"></a></strong></p>
<p class="comment-metadata" style="padding-left:30px;"><strong><a rel="external nofollow" href="http://tarekziade.wordpress.com/">Tarek Ziadé</a></strong> | <span class="comment-date">14-Dec-08 at 5:29 pm</span> | <a title="Permalink to this comment" rel="permalink" href="http://blog.ianbicking.org/2008/12/14/a-few-corrections-to-on-packaging/#comment-63694">Permalink</a></p>
<ol class="commentlist">
<li class="alt"> I am new to pip, so I hope I don’t write silly things <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> It’s a good idea to have the requirements outside the package, instead of what setuptools does. So you can share them amongst several packages.
<p>So basically, pip’s requirements files are what Zope calls the “Known Good Set” and what Turbogears 2 does by maintaining its own PyPI server to distribute TG2 packages : a list of versions that are known to interact well in the same environment, right ?</p>
<p>But it’s not really different from setuptools there, except that you change the requirements in a different place if something goes wrong.</p>
<p>So to simplify the problem, couldn’t we have juste ONE requirement file in the whole Python ?</p>
<p>This could be the clue for os packagers : they would be able to tweak this file, while developers would be able to try out their package over different requirements files (”the debian etch python requirement file” “the debian unstable python requirement file”, etc). And for specific, isolated stuff, using virtualenv would allow developer to have their own custome requirement files&#8230;.</li>
</ol>
<ol class="commentlist">
<li class="alt">
<p class="comment-metadata"><strong><a rel="external nofollow" href="http://blog.ianbicking.org/">Ian Bicking</a></strong> | <span class="comment-date">14-Dec-08 at 8:02 pm</span> | <a title="Permalink to this comment" rel="permalink" href="http://blog.ianbicking.org/2008/12/14/a-few-corrections-to-on-packaging/#comment-63705">Permalink</a></p>
<p>As Brett points out, apt and other package managers are inappropriate because they don’t allow multiple versions of packages to be installed, local environments, and ad hoc packages</li>
</ol>
<ol class="commentlist">
<li class="alt">
<p class="comment-metadata"><strong><a rel="external nofollow" href="http://gael-varoquaux.info/">Gael Varoquaux</a></strong> | <span class="comment-date">15-Dec-08 at 12:15 am</span> | <a title="Permalink to this comment" rel="permalink" href="http://blog.ianbicking.org/2008/12/14/a-few-corrections-to-on-packaging/#comment-63711">Permalink</a></p>
<p>Hey Ian,</p>
<p>This is an excellent and unbiased summary. More or less the missing manual of the current state of packaging under Python.</p>
<p>I need to add that I really like pip. It doesn’t change much to easy_install, but it is day and night to me. Thanks for making it available.)</li>
</ol>
<ul>
<li><a title="Pip" href="http://www.b-list.org/weblog/2008/dec/15/pip/" target="_blank">http://www.b-list.org/weblog/2008/dec/15/pip/</a> (&#8216;Why I like pip. So yesterday <a href="http://www.b-list.org/weblog/2008/dec/14/packaging/">I explained some of the reasons why I don’t like setuptools</a>. In essence, my objections boil down to one idea: application <em>packaging</em><em>development</em> should be orthogonal concerns. The way setuptools works, however, seems to tend, inevitably, toward coupling them to each other&#8230;But toward the end of yesterday’s article I suggested <a href="http://pip.openplans.org/">pip</a><code> as an alternative to pkg_resources</code>/<code>easy_install</code> toolchain, and today I’d like to explain a bit more about why I prefer<a title="Pip" href="http://pip.openplans.org/" target="_blank"> <code>pip</code></a> and some of the concrete benefits it offers and application  as an alternative to the setuptools&#8230; in <a href="http://blog.ianbicking.org/2008/12/14/a-few-corrections-to-on-packaging/">his response to my article yesterday</a> Ian clarified that <code>pip</code> just uses the setuptools APIs to do this. Which is saying something: glossing over setuptools’ warts to the point where you don’t even realize it’s being used is a pretty big deal&#8230; <code>pip</code> looks before it leaps, can bail out early if it’s not going to be able to install your package and will leave behind a useful log file explaining what went wrong&#8230;The point where <code>pip</code> really shines, though, is in the ease of specifying and creating reproducible builds. If you’ve ever dealt with having to deploy the same code base across multiple machines, you know what a headache this can be, since a huge number of factors (operating system and version, pre-installed packages and versions, system package managers and configuration, etc., etc.) can change the results of your deployment process, sometimes in subtle and difficult-to-debug ways. With <code>pip</code>, this is not (so much of) a problem&#8230;I mentioned <a href="http://pip.openplans.org/#requirements-files">pip requirements files</a> yesterday as an alternative to the way setuptools specifies dependencies directly in <code>setup.py</code>, and that’s certainly one useful application of the feature, but you can take it much further: once you know which packages (and, just as important, which <em>versions</em> of which packages) you need, you can write them down in a simple, plain-text file, point <code>pip</code> at it, and it’ll install them&#8230;The last piece of the puzzle, for me, is <a href="http://pypi.python.org/pypi/virtualenv/">virtualenv</a>; <code>virtualenv</code> is a tool for creating and working with isolated Python environments, and is basically the only way I work with Python these days&#8230;<code>pip</code> integrates quite nicely with <code>virtualenv</code>; normally, when working in an active <code>virtualenv</code>, Python packaging/installation tools (<code>pip</code> included) will install into that <code>virtualenv</code>, but <code>pip</code> also lets you:</li>
</ul>
<blockquote>
<ul>
<li> Specify a <code>virtualenv</code> to install into (using the <code>-E</code> flag), and</li>
</ul>
</blockquote>
<blockquote>
<ul>
<li> <em>Create</em> a new virtualenv and install into it.</li>
</ul>
</blockquote>
<p style="padding-left:30px;"><strong>The second one is really the killer feature</strong>, because it means you can set up a requirements file specifying a list of packages, and get <code>pip</code> to create a virtualenv for you and install the packages into it&#8230;… well, there’s a heck of a lot more I could write here about <code>pip</code> (and about <code>virtualenv</code>, and about some other interesting tools), but I think this is a good start and hopefully I’ve at least got you interested enough to explore a bit on your own. And I hope I’ve managed to communicate some of the practical reasons why I’ve ditched <code>easy_install</code> for package installation; compared to what <code>pip</code> can do right now (not even considering what it might be able to do in the future), <code>easy_install</code> just doesn’t measure up enough to justify the headaches it can create&#8230;&#8221;)</p>
<ul>
<li><a title="PIE" href="http://tarekziade.wordpress.com/2008/12/15/python-isolated-environment-pie/" target="_blank">http://tarekziade.wordpress.com/2008/12/15/python-isolated-environment-pie/ </a>(&#8216;Right now, when Python is loaded, it uses the site module to browse the site-packages directory to populate the path with packages it find there.  <em>.pth</em> files are also parsed to provide extra paths. Python 2.6 has introduced per-user <em>site-packages</em> directory, where you can define an extra directory, which is added in the path like the central one. But both will append new paths to the environment without any rule of exclusion or version checking&#8230;A few workarounds exist to be able to express what packages (and version) an application needs to run, or to set up an isolated environment for it:</li>
<li><a href="http://pypi.python.org/pypi/setuptools/" target="_blank"><em>setuptools</em></a> provides the <em>install_requires</em> mechanism where you can define dependencies directly inside the package, as a new metadata. It also provides a way to install two different versions of one package and let you pick by code or when the program starts, which one you want to activate.</li>
<li><a href="http://pypi.python.org/pypi/virtualenv" target="_blank"><em>virtualenv</em></a> will let you create an isolated Python environment, where you can define your own site-packages. This allows you to make sure you are not conflicting with a incompatible version of a given package.</li>
<li><a href="http://pypi.python.org/pypi/zc.buildout" target="_blank"><em>zc.buildout</em></a> relies on setuptools and provides an isolated environment a bit similar in some aspects to virtualenv.</li>
<li><a href="http://pypi.python.org/pypi/pip" target="_blank">pip</a> provides a way to describe requirements in a file, which can be used to define <em>bundles</em>, which are very similar to what zc.buildout provides.</li>
</ul>
<p><em>But they all aim at the same goal : define a specific execution context for a specific application, and declare dependencies with no respect to other applications or to the OS environment</em>&#8230;This proposal describes a solution that can be added to Python to provide that feature. A new file called a  <em>Python Isolated Environment</em> file (PIE file) can be provided by any  application to define the list of dependencies and their versions&#8230;&#8217;)</p>
Posted in 2008, Distribution de logiciel, Génie logiciel, Gestion de version, package_management, python Tagged: Add new tag, google app engine, Ian Bicking, pip, setuptools, tark riade, virtualenv, zipping library <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pvergain.wordpress.com/289/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pvergain.wordpress.com/289/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pvergain.wordpress.com/289/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pvergain.wordpress.com/289/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pvergain.wordpress.com/289/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pvergain.wordpress.com/289/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pvergain.wordpress.com/289/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pvergain.wordpress.com/289/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pvergain.wordpress.com/289/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pvergain.wordpress.com/289/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvergain.wordpress.com&blog=696018&post=289&subd=pvergain&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://pvergain.wordpress.com/2008/12/16/python-package-management-critiques-de-setuptools-et-louanges-de-pip-et-virtualenv/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9a2b1985a6f239af4bcfaa1f6199b5d4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pvergain</media:title>
		</media:content>
	</item>
		<item>
		<title>Code source, gestionnaire de versions/code: mercurial, bazaar, git</title>
		<link>http://pvergain.wordpress.com/2008/07/07/code-source-gestionnaire-de-versionscode-mercurial-bazaar-git/</link>
		<comments>http://pvergain.wordpress.com/2008/07/07/code-source-gestionnaire-de-versionscode-mercurial-bazaar-git/#comments</comments>
		<pubDate>Mon, 07 Jul 2008 21:35:47 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[2008]]></category>
		<category><![CDATA[Développement logiciel]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Gestion de version]]></category>
		<category><![CDATA[Génie logiciel]]></category>
		<category><![CDATA[Revue de code]]></category>
		<category><![CDATA[logiciel libre]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://pvergain.wordpress.com/?p=215</guid>
		<description><![CDATA[Quelques informations concernant la gestion des programmes source sous GNU/Debian Ubuntu.
Comment obtenir les sources d&#8217;un programme sous Debian/Ubuntu ?
=========================================
Quand on installe une distribution Debian/Ubuntu nous avons un ensemble de logiciels sous forme de fichiers (ou paquets) binaires, la liste de ces &#8220;paquets&#8221; étant donné dans le fichier /etc/apt/sources.list. Si l&#8217;on veut consulter le code source [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvergain.wordpress.com&blog=696018&post=215&subd=pvergain&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Quelques informations concernant la gestion des programmes source sous GNU/Debian Ubuntu.</p>
<p>Comment obtenir les sources d&#8217;un programme sous Debian/Ubuntu ?<br />
=========================================</p>
<p>Quand on installe une distribution Debian/Ubuntu nous avons un ensemble de logiciels sous forme de fichiers (ou paquets) binaires, la liste de ces &#8220;paquets&#8221; étant donné dans le fichier /etc/apt/sources.list. Si l&#8217;on veut consulter le code source correspondant à ces  programmes, il faudra:</p>
<ul>
<li>modifier le fichier /etc/apt/sources.list (sudo gtkedit /etc/apt/sources.list) en rajoutant pour chaque ligne commençant par &#8220;deb http://xxxx&#8230;&#8221; une ligne &#8220;deb-src http://xxx&#8230;&#8221;.</li>
<li>lancer commande &#8220;sudo<a title="apt-get" href="http://en.wikipedia.org/wiki/Apt-get" target="_blank"> apt-get</a> update&#8221; pour mettre à jour la liste des paquets.</li>
</ul>
<p>Si l&#8217;on veut voir à quoi ressemble les sources de l&#8217;interpréteur python on se crée un répertoire <em>~/src/python</em> par exemple et un simple &#8220;<em>apt-get source python2.5</em>&#8221; suffira pour télécharger les sources. A cette occasion, on aura le message suivant:</p>
<pre class="brush: cpp;">Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
NOTE : l'empaquetage de 'python2.5' est maintenu dans le système de contrôle de version 'Bzr' à:
http://bazaar.launchpad.net/~doko/python/pkg2.5
Veuillez utiliser:
bzr get http://bazaar.launchpad.net/~doko/python/pkg2.5
pour télécharger les dernières mises à jours (probablement non publiées) de ce module.</pre>
<p>On apprend donc que ce paquet Ubuntu est géré avec un logiciel de gestion de version distribué appelé &#8216;bazaar&#8217; (petit nom :&#8217; bzr&#8217;) ce logiciel étant écrit en python (faire un apt-get source bzr pour voir le code python).</p>
<p>Pourquoi vouloir obtenir le code source  d&#8217;un programme ?<br />
==================================</p>
<ul>
<li>les logiciels libres/open source étant des logiciels de très bonne qualité, il est très intéressant de voir comment tel programme a été implémenté</li>
<li>cela permet de contrôler le contenu d&#8217;un programme (absence de <a title="spyware" href="http://en.wikipedia.org/wiki/Spyware" target="_blank">spywares</a> par exemple) et/ou de faire une revue de code (<a title="Revue de code" href="http://en.wikipedia.org/wiki/Code_review" target="_blank">http://en.wikipedia.org/wiki/Code_review</a>)</li>
<li>si on est très motivé, cela permet de participer au développement d&#8217;un logiciel ou si l&#8217;on n&#8217;est pas développeur de participer à sa documentation.</li>
</ul>
<p>Les gestionnaires de versions<br />
================</p>
<p>La participation à un projet open source implique l&#8217;utilisation d&#8217;un <a title="Gestion de versions" href="http://fr.wikipedia.org/wiki/Gestion_de_versions" target="_blank">gestionnaire de version</a><a title="Gestion de versions" href="http://fr.wikipedia.org/wiki/Gestion_de_versions" target="_blank">s</a>. Depuis 2003 environ, CVS  est progressivement remplacé par subversion. Et depuis quelques moi, subversion est remplacé par des systèmes de gestion distribué tels que Mercurial (ou hg, écrit lui aussi en python), git (écrit par Linus Torwals), et bazaar.</p>
<p>Ainsi le langage python actuellement géré avec subversion pourrait passer sous bazaar ou mercurial:  <a title="bazaar python" href="http://www.python.org/dev/bazaar/" target="_blank">http://www.python.org/dev/bazaar/</a> (&#8220;<em>Python&#8217;s source code is maintained under the <a class="reference" href="http://subversion.tigris.org/">Subversion</a> revision control system.  We are experimenting with <a class="reference" href="http://en.wikipedia.org/wiki/Distributed_Version_Control_System">distributed revision control systems</a> (dvcs) because of their greatly improved workflow, accessibility and merging facilities over Subversion.  While there are several serious dvcs contenders in the open source world, this page describes the experimental <a class="reference" href="http://bazaar-vcs.org/">Bazaar</a> mirrors of the Python Subversion tree that we are making available to developers</em>&#8220;)</p>
<p><span style="text-decoration:underline;">A voir:</span></p>
<ul>
<li><a title="Revision control" href="http://en.wikipedia.org/wiki/Revision_control" target="_blank">http://en.wikipedia.org/wiki/Revision_control</a> (&#8220;&#8230;<em><strong>Revision control</strong><strong>version control (system) (VCS)</strong>, <strong>source control</strong><strong>(source) code management (SCM)</strong>) is the management of multiple revisions of the same unit of information. It is most commonly used in <a title="Engineering" href="http://en.wikipedia.org/wiki/Engineering">engineering</a> and <a title="Software development" href="http://en.wikipedia.org/wiki/Software_development">software development</a> to manage ongoing development of digital documents like application <a title="Source code" href="http://en.wikipedia.org/wiki/Source_code">source code</a>, art resources such as <a title="Blueprint" href="http://en.wikipedia.org/wiki/Blueprint">blueprints</a> or electronic models, and other projects that may be worked on by a <a class="mw-redirect" title="Team of people" href="http://en.wikipedia.org/wiki/Team_of_people">team of people</a>&#8230;</em> &#8220;)</li>
</ul>
<ul>
<li><a title="CVS" href="http://fr.wikipedia.org/wiki/CVS" target="_blank">http://fr.wikipedia.org/wiki/CVS</a> (&#8220;&#8230;<em><strong>CVS</strong>, abréviation de <strong>Concurrent Versions System</strong>, est un <a class="mw-redirect" title="Système de gestion de versions" href="http://fr.wikipedia.org/wiki/Syst%C3%A8me_de_gestion_de_versions">système de gestion de versions</a> <a title="Logiciel libre" href="http://fr.wikipedia.org/wiki/Logiciel_libre">libre</a>, successeur de <a class="mw-redirect" title="SCCS" href="http://fr.wikipedia.org/wiki/SCCS">SCCS</a>, originellement écrit par <a class="new" title="Dick Grune (page inexistante)" href="http://fr.wikipedia.org/w/index.php?title=Dick_Grune&amp;action=edit&amp;redlink=1">Dick Grune</a> en 1986, puis complété par <a class="new" title="Brian Berliner (page inexistante)" href="http://fr.wikipedia.org/w/index.php?title=Brian_Berliner&amp;action=edit&amp;redlink=1">Brian Berliner</a> (avec le programme cvs lui-même) en 1989, et par la suite amélioré par de très nombreux contributeurs&#8230;</em>&#8220;)</li>
</ul>
<ul>
<li><a title="Git" href="http://en.wikipedia.org/wiki/Git_(software)" target="_blank">http://en.wikipedia.org/wiki/Git_(software)</a> (&#8220;<em><strong>Git</strong> is a distributed <a title="Revision control" href="http://en.wikipedia.org/wiki/Revision_control">revision control</a> / software code management project created by <a title="Linus Torvalds" href="http://en.wikipedia.org/wiki/Linus_Torvalds">Linus Torvalds</a>, initially for the <a title="Linux kernel" href="http://en.wikipedia.org/wiki/Linux_kernel">Linux kernel</a> development&#8230;Git was designed as a set of programs written in <a title="C (programming language)" href="http://en.wikipedia.org/wiki/C_%28programming_language%29">C</a>, and a number of shell scripts that provide wrappers around those programs.<sup><a href="http://en.wikipedia.org/wiki/Git_%28software%29#cite_note-14">[15]</a></sup> Although most of those scripts have been rewritten in C as part of an ongoing effort to port it to Microsoft Windows, the design remains, and it is easy to chain the components together to do other clever things</em>&#8220;)</li>
<li><a title="Git projects" href="http://git.or.cz/gitwiki/GitProjects" target="_blank">http://git.or.cz/gitwiki/GitProjects</a></li>
<li><a title="Linux git" href="http://linux.yyz.us/git-howto.html" target="_blank">http://linux.yyz.us/git-howto.html</a></li>
</ul>
<ul>
<li><a title="Mercurial" href="http://en.wikipedia.org/wiki/Mercurial_(software)" target="_blank">http://en.wikipedia.org/wiki/Mercurial_(software)</a> (&#8220;&#8230;<em>it is written in <a title="Python (programming language)" href="http://en.wikipedia.org/wiki/Python_%28programming_language%29">Python</a>, with a binary <a title="Diff" href="http://en.wikipedia.org/wiki/Diff">diff</a> implementation written in <a title="C (programming language)" href="http://en.wikipedia.org/wiki/C_%28programming_language%29">C</a>. Mercurial is primarily a <a title="Command line interface" href="http://en.wikipedia.org/wiki/Command_line_interface">command line</a> program. All its commands begin with <tt>hg</tt>, a reference to the <a title="Chemical symbol" href="http://en.wikipedia.org/wiki/Chemical_symbol">chemical symbol</a> for <a title="Mercury (element)" href="http://en.wikipedia.org/wiki/Mercury_%28element%29">mercury</a></em>&#8230;<em>Mercurial was written to run on Linux. It has been ported to <a title="Microsoft Windows" href="http://en.wikipedia.org/wiki/Microsoft_Windows">Windows</a>, <a title="Mac OS X" href="http://en.wikipedia.org/wiki/Mac_OS_X">Mac OS X</a>, and most other <a title="Unix-like" href="http://en.wikipedia.org/wiki/Unix-like">Unix-like</a> systems</em>.&#8221;)</li>
<li><a title="Projets utilisant mercurial" href="http://www.selenic.com/mercurial/wiki/index.cgi/ProjectsUsingMercurial" target="_blank">http://www.selenic.com/mercurial/wiki/index.cgi/ProjectsUsingMercurial </a></li>
</ul>
<ul>
<li><a title="Bazzar" href="http://en.wikipedia.org/wiki/Bazaar_(software)" target="_blank">http://en.wikipedia.org/wiki/Bazaar_(software)</a> (&#8220;<em><strong>Bazaar</strong> (formerly <strong>Bazaar-NG</strong>) is a distributed <a title="Revision control" href="http://en.wikipedia.org/wiki/Revision_control">revision control</a> system sponsored by <a title="Canonical Ltd." href="http://en.wikipedia.org/wiki/Canonical_Ltd.">Canonical Ltd.</a>, designed to make it easier for anyone to contribute to <a title="Free software" href="http://en.wikipedia.org/wiki/Free_software">free</a> and <a title="Open source software" href="http://en.wikipedia.org/wiki/Open_source_software">open source software</a> projects</em>&#8230;<em>Bazaar is written in the <a class="mw-redirect" title="Python programming language" href="http://en.wikipedia.org/wiki/Python_programming_language">Python programming language</a>, with packages for major <a title="Linux" href="http://en.wikipedia.org/wiki/Linux">Linux</a><a title="Mac OS X" href="http://en.wikipedia.org/wiki/Mac_OS_X">Mac OS X</a> and <a title="Microsoft Windows" href="http://en.wikipedia.org/wiki/Microsoft_Windows">Windows</a>. Bazaar is free software and part of the </em> distributions, <a class="mw-redirect" title="GNU project" href="http://en.wikipedia.org/wiki/GNU_project"><em>GNU projec</em>t</a>&#8230;<em>Bazaar has support for working with some other revision control systems.<sup><a href="http://en.wikipedia.org/wiki/Bazaar_%28software%29#cite_note-2">[3]</a></sup> This allows users to branch from another system (such as <a title="Subversion (software)" href="http://en.wikipedia.org/wiki/Subversion_%28software%29">Subversion</a>), make local changes and commit them into a Bazaar branch, and then later merge them back into the other system. Bazaar has basic support for Subversion with the </em><em>bzr-svn plugin.<sup><a href="http://en.wikipedia.org/wiki/Bazaar_%28software%29#cite_note-3">[4]</a></sup> There is also beginnings of support for both <a title="Mercurial (software)" href="http://en.wikipedia.org/wiki/Mercurial_%28software%29">Mercurial</a><sup><a href="http://en.wikipedia.org/wiki/Bazaar_%28software%29#cite_note-4">[5]</a></sup> and <a title="Git (software)" href="http://en.wikipedia.org/wiki/Git_%28software%29">Git</a>.<sup><a href="http://en.wikipedia.org/wiki/Bazaar_%28software%29#cite_note-5">[6]</a></sup> Currently these are not feature complete, but are complete enough to show a graphical history</em>.&#8221;)</li>
<li><a title="who uses bazaar" href="http://bazaar-vcs.org/WhoUsesBzr" target="_blank">http://bazaar-vcs.org/WhoUsesBzr</a></li>
<li><a title="Mailman launchpad" href="http://wiki.list.org/display/DEV/MailmanOnLaunchpad" target="_blank">http://wiki.list.org/display/DEV/MailmanOnLaunchpad</a> (&#8220;<em>The Mailman source code was originally maintained using CVS, and only a few people had write access to the code. Later, development was moved to <span class="nobr"><a rel="nofollow" href="http://sourceforge.net/">SourceForge<sup><img class="rendericon" src="http://wiki.list.org/images/icons/linkext7.gif" border="0" alt="" width="7" height="7" align="absmiddle" /></sup></a></span> and then the CVS repository was converted to Subversion. This proved to be a successful transition, as Subversion provided many benefits over CVS.Now however, it&#8217;s become clear that even Subversion has its limitations, and better options exist. Specifically, we are now using the distributed (or decentralized) revision control system (dvcs) called <span class="nobr"><a rel="nofollow" href="http://bazaar-vcs.org/">Bazaar<sup><img class="rendericon" src="http://wiki.list.org/images/icons/linkext7.gif" border="0" alt="" width="7" height="7" align="absmiddle" /></sup></a></span>.  Bazaar has many beneficial features, both for the core developers and for casual, third party developers</em>.&#8221;)</li>
</ul>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pvergain.wordpress.com/215/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pvergain.wordpress.com/215/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pvergain.wordpress.com/215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pvergain.wordpress.com/215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pvergain.wordpress.com/215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pvergain.wordpress.com/215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pvergain.wordpress.com/215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pvergain.wordpress.com/215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pvergain.wordpress.com/215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pvergain.wordpress.com/215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pvergain.wordpress.com/215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pvergain.wordpress.com/215/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvergain.wordpress.com&blog=696018&post=215&subd=pvergain&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://pvergain.wordpress.com/2008/07/07/code-source-gestionnaire-de-versionscode-mercurial-bazaar-git/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9a2b1985a6f239af4bcfaa1f6199b5d4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pvergain</media:title>
		</media:content>

		<media:content url="http://wiki.list.org/images/icons/linkext7.gif" medium="image" />

		<media:content url="http://wiki.list.org/images/icons/linkext7.gif" medium="image" />
	</item>
		<item>
		<title>Les nouveaux projets python: codereview/rietveld, Paver, Sphinx</title>
		<link>http://pvergain.wordpress.com/2008/05/12/les-nouveaux-projets-python-codereview-rietveld-paver-sphinx/</link>
		<comments>http://pvergain.wordpress.com/2008/05/12/les-nouveaux-projets-python-codereview-rietveld-paver-sphinx/#comments</comments>
		<pubDate>Mon, 12 May 2008 11:36:00 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[Distribution de logiciel]]></category>
		<category><![CDATA[Documentation]]></category>
		<category><![CDATA[Gestion de projet]]></category>
		<category><![CDATA[Gestion de version]]></category>
		<category><![CDATA[Génie logiciel]]></category>
		<category><![CDATA[Revue de code]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[sphinx]]></category>

		<guid isPermaLink="false">http://pvergain.wordpress.com/?p=211</guid>
		<description><![CDATA[Codereview
- http://googleappengine.blogspot.com/2008/05/open-source-app-rietveld-code-review.html (&#8220;My first project as a Google engineer was an internal web app for code review. According to Wikipedia, code review is &#8220;systematic examination (often as peer review) of computer source code intended to find and fix mistakes overlooked in the initial development phase, improving both the overall quality of software and the developers&#8217; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvergain.wordpress.com&blog=696018&post=211&subd=pvergain&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><span style="text-decoration:underline;"><strong>Codereview</strong></span></p>
<p>- <a title="codereview" href="http://googleappengine.blogspot.com/2008/05/open-source-app-rietveld-code-review.html" target="_blank">http://googleappengine.blogspot.com/2008/05/open-source-app-rietveld-code-review.html</a> (&#8220;<em>My first project as a Google engineer was an internal web app for code review. According to <a href="http://en.wikipedia.org/wiki/Code_review">Wikipedia</a>, code review is &#8220;systematic examination (often as peer review) of computer source code intended to find and fix mistakes overlooked in the initial development phase, improving both the overall quality of software and the developers&#8217; skills.&#8221; Not an exciting topic, perhaps, but the internal web app, which I code-named Mondrian after one of my favorite Dutch painters, was an overnight success among Google engineers (who evidently value software quality and skills development <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> . I even gave a public presentation about it: you can <a href="http://www.youtube.com/watch?v=sMql3Di4Kgc">watch the video on YouTube</a>.</em>&#8220;)</p>
<p>- <a title="codereview" href="http://groups.google.com/group/codereview-discuss?hl=en" target="_blank">http://groups.google.com/group/codereview-discuss?hl=en</a> (&#8220;<em>Discussion of the code review tool &#8220;Rietveld&#8221;, <a rel="nofollow" href="http://codereview.appspot.com/" target="_blank">http://codereview.appspot.com</a>, open source at <a rel="nofollow" href="http://code.google.com/p/rietveld/" target="_blank">http://code.google.com/p/rietveld/</a>.</em>&#8220;)</p>
<p><span style="text-decoration:underline;"><strong>Paver</strong></span></p>
<p>- <a title="Paver" href="http://www.blueskyonmars.com/projects/paver/" target="_blank">http://www.blueskyonmars.com/projects/paver/</a> (&#8220;<em>Paver is a Python-based build/distribution/deployment scripting tool along the lines of Make or Rake. What makes Paver unique is its integration with commonly used Python libraries. Common tasks that were easy before remain easy. More importantly, dealing with your<a class="reference" href="http://www.blueskyonmars.com/projects/paver/blueskyonmars.com">Kevin Dangoor</a> of <a class="reference" href="http://www.blueskyonmars.com/projects/paver/sitepen.com">SitePen</a></em> applications specific needs and requirements is now much easier&#8230;Paver is currently alpha release software. There is one major feature (zc.buildout integration) planned for 1.0. At this point, it is unlikely that there will be significant changes to the pavement syntax, but there are no guarantees. If there are breaking changes, they will almost certainly be minor&#8230;Paver was created by .&#8221;)</p>
<p>- <a title="Paver" href="http://groups.google.com/group/comp.lang.python.announce/browse_thread/thread/1b84e15dab7f02d6?hl=en" target="_blank">http://groups.google.com/group/comp.lang.python.announce/browse_thread/thread/1b84e15dab7f02d6?hl=en</a> (&#8220;<em>With Version 0.7, Paver is now a full stand-in for the traditional distutils- or setuptools-based setup.py. Need to perform some extra    work before an sdist runs? No problem:<br />
</em></p>
<p><em>@task<br />
def sdist():<br />
&#8230;move files around, etc&#8230;.<br />
call_task(&#8220;distutils.command.sdist&#8221;)<br />
</em></p>
<p><em>You put that in your pavement.py file and now running &#8220;paver sdist&#8221; will perform your logic and then run the distutils sdist command. Paver can even generate a setup.py so &#8220;python setup.py sdist&#8221; or  &#8220;python setup.py install&#8221; work just as they always have. And to make it easier for people who don&#8217;t yet have Paver, you can include a small zip file that enables &#8220;python setup.py install&#8221; to work off of a pavement.py file even without Paver. Paver 0.7 has a bunch of new tools to help with project documentation   (taking advantage of Georg Brandl&#8217;s Sphinx and also including Ned Batchelder&#8217;s Cog). Paver now includes much better docs, too.</em>&#8220;)</p>
<p>- <a title="cog" href="http://nedbatchelder.com/code/cog/" target="_blank">http://nedbatchelder.com/code/cog/</a> (&#8220;<em><span class="searchword1">Cog</span> is a code generation tool.  It lets you use pieces of <span class="searchword2">Python</span> code as generators in your source files to generate whatever code you need&#8230;<span class="searchword1">Cog</span> transforms files in a very simple way: it finds chunks of <span class="searchword2">Python</span> code embedded in them, executes the <span class="searchword2">Python</span> code, and inserts its output back into the original file. The file can contain whatever text you like around the <span class="searchword2">Python</span> code. It will usually be source code</em>&#8220;)</p>
<p><span style="text-decoration:underline;"><strong>Sphinx</strong></span></p>
<p>- <a title="Sphinx" href="http://sphinx.pocoo.org" target="_blank">http://sphinx.pocoo.org</a>/ (&#8220;Sphinx is a tool that makes it easy to create intelligent and beautiful     documentation for Python projects, written by Georg Brandl and licensed     under the BSD license.It was originally created to translate <a href="http://docs.python.org/dev/">the     new Python documentation</a>, but has now been cleaned up in the hope that     it will be useful to many other projects.  (Of course, this site is also     created from reStructuredText sources using Sphinx!)&#8221;)</p>
<p><span style="text-decoration:underline;">A voir:</span></p>
<p>- <a title="code review" href="http://en.wikipedia.org/wiki/Code_review" target="_blank">http://en.wikipedia.org/wiki/Code_review</a> (&#8220;Code reviews can often find and remove common <a title="Vulnerability (computing)" href="http://en.wikipedia.org/wiki/Vulnerability_%28computing%29">vulnerabilities</a> such as <a class="mw-redirect" title="Format string attacks" href="http://en.wikipedia.org/wiki/Format_string_attacks">format string exploits</a>, <a title="Race condition" href="http://en.wikipedia.org/wiki/Race_condition">race conditions</a>, <a title="Memory leak" href="http://en.wikipedia.org/wiki/Memory_leak">memory leaks</a> and <a title="Buffer overflow" href="http://en.wikipedia.org/wiki/Buffer_overflow">buffer overflows</a>, thereby improving software security. Online software repositories based on <a title="Subversion (software)" href="http://en.wikipedia.org/wiki/Subversion_%28software%29">Subversion</a> with <a title="Trac" href="http://en.wikipedia.org/wiki/Trac">Trac</a>, <a title="Mercurial" href="http://en.wikipedia.org/wiki/Mercurial">Mercurial</a>, <a title="Git (software)" href="http://en.wikipedia.org/wiki/Git_%28software%29">GIT</a> or others allow groups of individuals to collaboratively review code. Additionally, specific tools for collaborative code review can facilitate the code review process.&#8221;)</p>
<p>- <a title="software distribution" href="http://en.wikipedia.org/wiki/Software_distribution" target="_blank">http://en.wikipedia.org/wiki/Software_distribution</a> (&#8220;A <strong>software distribution</strong> is a bundle of a specific <a class="mw-redirect" title="Software" href="http://en.wikipedia.org/wiki/Software">software</a> (or a collection of multiple, even an entire <a title="Operating system" href="http://en.wikipedia.org/wiki/Operating_system">operating system</a>), already compiled and configured. It is generally the closest thing to a <a title="Turnkey" href="http://en.wikipedia.org/wiki/Turnkey">turnkey</a> form of a usually <a title="GNU General Public License" href="http://en.wikipedia.org/wiki/GNU_General_Public_License">GPL</a> or <a title="Open source" href="http://en.wikipedia.org/wiki/Open_source">open source</a> source code for a software. It usually takes the form of either rpm, deb, tgz, msi, exe etc. installer and is downloadable from the Internet. These are also known as a Binary distributions&#8230;The <a title="Python (programming language)" href="http://en.wikipedia.org/wiki/Python_%28programming_language%29">Python programming language</a> offers a distribution utility called <a class="external text" title="http://docs.python.org/lib/module-distutils.html" rel="nofollow" href="http://docs.python.org/lib/module-distutils.html">distutils</a>, which requires the creation of a <tt>setup.py</tt> configuration file&#8221;)</p>
<p>- <a title="distutils" href="http://docs.python.org/dist/dist.html" target="_blank">http://docs.python.org/dist/dist.html</a> (&#8220;Distributing Python Modules&#8221;)</p>
<p>- <a title="doc-sig" href="http://mail.python.org/mailman/listinfo/doc-sig" target="_blank">http://mail.python.org/mailman/listinfo/doc-sig</a> (&#8220;For discussion of both the form and content of Python documentation. The SIG should work towards setting up a Python Documentation Project effort like the <a href="http://sunsite.unc.edu/mdw/linux.html">Linux Documentation Project</a>. &#8220;)</p>
<p>- <a title="Documentation" href="http://fr.wikipedia.org/wiki/Documentation_logicielle" target="_blank">http://fr.wikipedia.org/wiki/Documentation_logicielle</a> (&#8220;<em>La <strong>documentation logicielle</strong> est un texte écrit qui accompagne le logiciel <a title="Informatique" href="http://fr.wikipedia.org/wiki/Informatique">informatique</a>. Elle explique comment le logiciel fonctionne, ou comment on doit l&#8217;employer. Le terme peut avoir des significations différentes pour des personnes de différents profils.La documentation constitue une partie importante de l&#8217;<a class="mw-redirect" title="Ingénierie logicielle" href="http://fr.wikipedia.org/wiki/Ing%C3%A9nierie_logicielle">ingénierie logicielle</a>, qui est trop souvent négligée</em>&#8230;<a title="Donald Knuth" href="http://fr.wikipedia.org/wiki/Donald_Knuth">Donald Knuth</a> a insisté sur le fait que la documentation peut être un processus très difficile de réflexion après coup et a recommandé la <a title="Programmation lettrée" href="http://fr.wikipedia.org/wiki/Programmation_lettr%C3%A9e">programmation lettrée</a>, qui consiste à écrire la documentation en même temps et en un même lieu que le <a title="Code source" href="http://fr.wikipedia.org/wiki/Code_source">code source</a> et à l&#8217;extraire par des moyens automatiques.&#8221;)</p>
<p>- <a title="gestion de configuration" href="http://fr.wikipedia.org/wiki/Gestion_de_configuration" target="_blank">http://fr.wikipedia.org/wiki/Gestion_de_configuration</a> (&#8220;<em><strong>La gestion de configuration</strong> consiste à gérer la description technique d&#8217;un système<sup><a href="http://fr.wikipedia.org/wiki/Gestion_de_configuration#cite_note-0"></a></sup> (et de ses divers composants), ainsi qu&#8217;à gérer l&#8217;ensemble des modifications apportées au cours de l&#8217;évolution du système. La gestion de configuration est utilisée pour la gestion de systèmes complexes</em>&#8220;)</p>
<p>- <a title="software deployment" href="http://en.wikipedia.org/wiki/Software_deployment" target="_blank">http://en.wikipedia.org/wiki/Software_deployment</a> (&#8220;<em><strong>Software deployment</strong> is all of the activities that make a <a title="Software system" href="http://en.wikipedia.org/wiki/Software_system">software system</a> available for use. The general deployment process consists of several interrelated activities with possible <a title="Transition" href="http://en.wikipedia.org/wiki/Transition">transitions</a> between them. These activities can occur at the <a title="Software developer" href="http://en.wikipedia.org/wiki/Software_developer">producer</a> site or at the <a title="User (computing)" href="http://en.wikipedia.org/wiki/User_%28computing%29">consumer</a> site or both. Because every <a title="Software system" href="http://en.wikipedia.org/wiki/Software_system">software system</a> is unique, the precise <a title="Process (computing)" href="http://en.wikipedia.org/wiki/Process_%28computing%29">processes</a> or <a title="Procedure" href="http://en.wikipedia.org/wiki/Procedure">procedures</a> within each activity can hardly be defined. Therefore, &#8220;deployment&#8221; should be interpreted as a </em><em>general process that has to be customized according to specific requirements or characteristics. A brief description of each activity will be presented later</em>.&#8221;)</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pvergain.wordpress.com/211/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pvergain.wordpress.com/211/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pvergain.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pvergain.wordpress.com/211/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pvergain.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pvergain.wordpress.com/211/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pvergain.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pvergain.wordpress.com/211/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pvergain.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pvergain.wordpress.com/211/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pvergain.wordpress.com/211/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pvergain.wordpress.com/211/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvergain.wordpress.com&blog=696018&post=211&subd=pvergain&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://pvergain.wordpress.com/2008/05/12/les-nouveaux-projets-python-codereview-rietveld-paver-sphinx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9a2b1985a6f239af4bcfaa1f6199b5d4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pvergain</media:title>
		</media:content>
	</item>
		<item>
		<title>Quelques outils pour développer une application open source: Une application open source basée sur JEE 5 et JBoss Seam: Nuxeo5</title>
		<link>http://pvergain.wordpress.com/2007/11/07/quelques-outils-pour-developper-une-application-open-source-une-application-open-source-basee-sur-jee-5-et-jboss-seam-nuxeo5/</link>
		<comments>http://pvergain.wordpress.com/2007/11/07/quelques-outils-pour-developper-une-application-open-source-une-application-open-source-basee-sur-jee-5-et-jboss-seam-nuxeo5/#comments</comments>
		<pubDate>Wed, 07 Nov 2007 21:41:11 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Architecture logicielle]]></category>
		<category><![CDATA[Gestion de version]]></category>
		<category><![CDATA[JEE]]></category>
		<category><![CDATA[Web Frameworks]]></category>
		<category><![CDATA[Web applications]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[web2.0]]></category>
		<category><![CDATA[architecture of participation]]></category>
		<category><![CDATA[Jboss]]></category>
		<category><![CDATA[Jboss Seam]]></category>
		<category><![CDATA[Jboss Seam2]]></category>
		<category><![CDATA[maven]]></category>
		<category><![CDATA[nuxeo 5.1]]></category>
		<category><![CDATA[POJO]]></category>
		<category><![CDATA[programmation orientée composant]]></category>
		<category><![CDATA[subversion]]></category>

		<guid isPermaLink="false">http://pvergain.wordpress.com/2007/11/07/quelques-outils-pour-developper-une-application-open-source-une-application-open-source-basee-sur-jee-5-et-jboss-seam-nuxeo5/</guid>
		<description><![CDATA[Les applications Java sont souvent employées dans des environnements assez lourds. Cette situation cependant s&#8217;améliore grâce à l&#8217;utilisation d&#8217;outils open source utilisés dans d&#8217;autres projets et également grâce à la mise en oeuvre de  serveurs d&#8217;applications Java EE 5 qui implémentent les fonctionnalités extrêmement attendues telles qu’Enterprise JavaBeans 3.0 (EJB3), Java Persistence API (JPA) et [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvergain.wordpress.com&blog=696018&post=136&subd=pvergain&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Les applications Java sont souvent employées dans des environnements assez lourds. Cette situation cependant s&#8217;améliore grâce à l&#8217;utilisation d&#8217;outils open source utilisés dans d&#8217;autres projets et également grâce à la mise en oeuvre de  serveurs d&#8217;applications Java EE 5 qui implémentent les fonctionnalités extrêmement attendues telles qu’<a href="http://en.wikipedia.org/wiki/Enterprise_JavaBean" title="EJB">Enterprise JavaBeans </a>3.0 (EJB3), <a href="http://en.wikipedia.org/wiki/Java_Persistence_API" title="JPA">Java Persistence API </a>(JPA) et JavaServer Faces (JSF).. Voulant aussi aussi parler des logiciels libres en entreprise, on s&#8217;intéressera à Nuxeo 5 qui utilise Jboss Seam en tant que composant de son framework web.</p>
<p><u><strong> ECM (Enterprise Content Management)</strong></u> :<em> la <strong>gestion de contenu</strong> (en <a href="http://fr.wikipedia.org/wiki/Anglais" title="Anglais">anglais</a> Enterprise Content Management, ECM) vise à gérer l&#8217;ensemble des contenus d&#8217;une entreprise. Il s&#8217;agit de prendre en compte les informations sous forme électronique, qui ne sont pas structurées, comme les <a href="http://fr.wikipedia.org/wiki/Documents_%C3%A9lectroniques" title="Documents électroniques">documents électroniques</a>, par opposition à celles déjà structurées dans les <a href="http://fr.wikipedia.org/wiki/Bases_de_donn%C3%A9es" title="Bases de données">bases de données</a>. À titre d&#8217;exemple, on va pouvoir gérer l&#8217;ensemble des informations d&#8217;un dossier <a href="http://fr.wikipedia.org/wiki/Client_%28%C3%A9conomie%29" title="Client (économie)">client</a> : courriers papier, <a href="http://fr.wikipedia.org/wiki/Courrier_%C3%A9lectronique" title="Courrier électronique">courriels</a>, <a href="http://fr.wikipedia.org/wiki/Fax" title="Fax">fax</a>, <a href="http://fr.wikipedia.org/wiki/Contrat" title="Contrat">contrats</a>, etc., dans une même <a href="http://fr.wikipedia.org/w/index.php?title=Infrastructure_%28informatique%29&amp;action=edit" class="new" title="Infrastructure (informatique)">infrastructure</a></em>)</p>
<p>Nuxeo 5 est une plateforme complète de gestion de contenu d&#8217;entreprise, robuste et extensible, développée selon un modèle de logiciel libre par la société <a href="http://www.nuxeo.com/" title="Nuxeo">Nuxeo</a> et une communauté de contributeurs, en utilisant des technologies <a href="http://en.wikipedia.org/wiki/Java_EE" title="Java EE">Java EE</a> open source.La plateforme Nuxeo couvre l’ensemble du spectre fonctionnel et technique de l’ECM :- Gestion documentaire (<a href="http://fr.wikipedia.org/wiki/Gestion_%C3%A9lectronique_des_documents" title="GED">GED</a>)- <a href="http://fr.wikipedia.org/wiki/Travail_collaboratif" title="Travail collaboratif">Travail collaboratif</a>- Gestion des processus métiers (workflow documentaire)- Gestion de la conformité légale ou réglementaire</p>
<p>- Gestion des documents d’archives (Records Management)</p>
<p>- Gestion des contenus multimédias</p>
<p>- <a href="http://fr.wikipedia.org/wiki/Gestion_des_connaissances" title="Gestion des connaissances">Gestion des connaissances</a> (KM)</p>
<p>Historique de <a href="http://www.nuxeo.com/static/jboss/nuxeo-jboss-case-study-fr.pdf" title="Nuxeo">Nuxeo 5</a>: &#8220;&#8230;La finalisation de Java Enterprise Edition 5.0 (Java EE 5) était attendue en 2007 et Nuxeo voulait être en mesure de tirer parti de nouvelles fonctionnalités extrêmement attendues telles qu’Enterprise JavaBeans 3.0 (EJB3), Java Persistence API (JPA) et JavaServer Faces (JSF). Le projet de migration vers Java EE 5 a été lancé avec pour objectif de livrer la plateforme Nuxeo 5 au 4ème trimestre 2006..</p>
<p>En ce qui concerne Java open source, un seul nom s’est imposé : JBoss.<br />
« Le choix de JBoss Application Server fut évident car il se trouve au<br />
cœur d’un package logiciel open source dont nous avions déjà testé<br />
plusieurs modules indispensables à notre projet, »</p>
<p>&#8230;Nuxeo 5 utilise:</p>
<p>- JBoss Cache pour fournir le stockage temporaire distribué de la plateforme ECM pour les données d’accès fréquent,</p>
<p>- JBoss  jBPM pour fournir la gestion des processus commerciaux et les flux de travaux,</p>
<p>- JBoss Rules pour permettre la création de règles commerciales,</p>
<p>- et <strong>JBoss Seam, qui est une structure innovante de programmation de composants, pour fournir une couche Web dynamique et extensible qui unifie les fonctionnalités Java EE5 telles qu’EJB3 et JSF</strong>, ainsi que les technologies Web 2.0 telles qu’Asynchronous JavaScript et XML (Ajax).<br />
<font color="#231f20" face="Times" size="3"><span style="font-size:10px;font-family:Times;color:#231f20;"></span></font></p>
<p>&#8230;Enfin, en tant que fournisseur de solutions open source, Nuxeo a<br />
apprécié le processus de développement ouvert et collaboratif de<br />
JBoss, qui a bien accueilli la participation et la contribution des clients,<br />
des partenaires et des particuliers. <strong>Ceci est l’antithèse du logiciel<br />
commercial, dont le développement se fait à huis clos et qui est fourni<br />
dans une boîte noire</strong>. Grâce à son expérience utilisateur avec JBoss<br />
Enterprise Middleware, Nuxeo est en mesure de contribuer à la direction<br />
du développement de JBoss. Et pour finir, cela signifie avoir droit à la<br />
parole et être entendu.</p>
<p><strong>Autres sources</strong>:</p>
<p>- <a href="http://www.michaelyuan.com/blog/2006/11/14/seam-without-ejb3/" title="Seam without EJB3">http://www.michaelyuan.com/blog/2006/11/14/seam-without-ejb3/</a> (&#8220;<em>Seam has always supported POJO components in addition to EJB3 components. You can use Seam POJOs to replace EJB3 session beans and Hibernate POJOs to replace EJB3 entity beans</em>&#8220;)</p>
<p>- <a href="http://www.jboss.com/products/seam" title="Seam">http://www.jboss.com/products/seam</a> ou &#8211; <a href="http://labs.jboss.com/jbossseam/" title="JBOSS Seam">http://labs.jboss.com/jbossseam/</a>  (&#8220;<em>JBoss Seam is a powerful new application framework for building next generation Web 2.0 applications by unifying and integrating technologies such as Asynchronous JavaScript and XML (AJAX), Java Server Faces (JSF), Enterprise Java Beans (EJB3), Java Portlets and Business Process Management (BPM). Seam has been designed from the ground up to eliminate complexity at the architecture and the API level. It enables developers to assemble complex web applications with simple annotated Plain Old Java Objects (POJOs), componentized UI widgets and very little XML.</em>&#8220;)</p>
<p>- <a href="http://labs.jboss.com/jbossejb3/" title="EJB3">http://labs.jboss.com/jbossejb3/  </a>(&#8220;<em>Enterprise Java Beans (EJB) 3.0 is a deep overhaul and simplification of the EJB specification. EJB 3.0&#8217;s goals are to simplify development, facilitate test driven development, and focus more on writing plain old java objects (POJOs) <strong>rather than on complex EJB APIs</strong>. EJB 3.0 has fully embraced <strong>Java Annotations</strong> introduced in JDK 5.0 and also simplifies the API for CMP entity beans by using Hibernate as the EJB 3.0 Java Persistence engine.</em>&#8220;)</p>
<p>- <a href="http://www.michaelyuan.com/blog/about/" title="Michael Yuan">http://www.michaelyuan.com/blog/about/</a> (&#8220;<em>Welcome to my <a href="http://www.michaelyuan.com/blog/">blog site</a>! My name is Michael Yuan. I am a <a href="http://www.michaelyuan.com/blog/?cat=2">technologist</a>, <a href="http://www.michaelyuan.com/blog/?cat=8">author</a>, and open source advocate based in <a href="http://www.michaelyuan.com/blog/?cat=5">Austin, Texas</a>. I currently work as a Technology Evangelist at the <a href="http://www.jboss.com/">JBoss division</a> of <a href="http://www.redhat.com/">Red Hat Inc.</a> Before joining JBoss, I was an independent software consultant in the field of mobile end-to-end solutions</em>&#8220;) et son flux RSS <span class="attribute-value">(<a href="http://www.michaelyuan.com/blog/category/seam/feed/" title="Michael Yuan">http://www.michaelyuan.com/blog/category/seam/feed/</a>)</span></p>
<p>- <a href="http://www.redhat.com/developers/rhds/index.html" title="Red Hat ide">http://www.redhat.com/developers/rhds/index.html</a> (&#8220;<em>Red Hat Developer Studio is a set of eclipse-based development tools that are pre-configured for JBoss Enterprise Middleware Platforms and Red Hat Enterprise Linux. Developers are not required to use Red Hat Developer Studio to develop on JBoss Enterprise Middleware and/or Red Hat Linux. But, many find these pre-configured tools offer significant time-savings and value, making them more productive and speeding time to deployment</em>&#8220;)</p>
<p class="para">- Learn more about Seam <a href="http://labs.jboss.com/portal/jbossseam/gettingstarted">here</a>, and find a list of commonly answered questions <a href="http://labs.jboss.com/portal/jbossseam/faq">here</a>. Or, follow <a href="http://labs.jboss.com/portal/jbossseam/gettingstarted">this road map</a> to get started with Seam right away! You can view a recorded <a href="http://jboss.com/services/online_education#presentation">Seam webinar</a>.</p>
<p class="para">-  <a href="http://blogs.nuxeo.com/sections/blogs/fermigier/2007_03_08_nuxeo-s-open-source-projects-trully-community-driven-hell-yes-they" title="Open source">http://blogs.nuxeo.com/sections/blogs/fermigier/2007_03_08_nuxeo-s-open-source-projects-trully-community-driven-hell-yes-they </a>(&#8220;Fortunately, the short answer is “of course we are community-driven”. With Dion’s criteria, I can confidently self-grade us at A+ (or 20/20, for french-educated people). Here are the criteria and my comments<a href="http://blogs.nuxeo.com/sections/blogs/fermigier/2007_03_08_nuxeo-s-open-source-projects-trully-community-driven-hell-yes-they" title="Open source">)</a></p>
<p class="para">- <a href="http://www.nuxeo.org/sections/documentation/" title="Nuxeo 5">http://www.nuxeo.org/sections/documentation/</a>  (&#8220;<em>Learn Nuxeo EP 5.1 basics with some video demos</em>&#8220;)</p>
<p class="para">- <a href="http://www.nuxeo.org/sections/community/" title="Nuxeo community">http://www.nuxeo.org/sections/community/</a> (&#8220;<em>The Nuxeo projects are open source (licensed under the LGPL) and developed with the participation of the community. We mean &#8220;participation&#8221; here as either: working as a core developer, contributor, third-party component developer (<strong>we have designed Nuxeo 5 to be very easily extensible by independent people, to create an &#8220;architecture of participation&#8221;</strong>), tests (unit tests, integration tests or functional tests) writer, Maven / Eclipse specialist, documentation writer / proofreader, etc.</em>&#8220;)</p>
<p> Here is a list of what you can do to get involved with the Nuxeo 5 development:</p>
<ul>
<li>Subscribe to the <a href="http://lists.nuxeo.com/mailman/listinfo/ecm/" class="external">&#8220;ECM&#8221; mailing list</a>, which currently hosts the discussions about all the Nuxeo 5 components. (This list will be split between a developers list and a users list, but only after we release version 5.0 of Nuxeo.)</li>
<li>Read the <a href="http://lists.nuxeo.com/pipermail/ecm/" class="external">mailing list archives with mailman</a> or use the gmane various interfaces under <a href="http://dir.gmane.org/gmane.comp.cms.nuxeo.general">gmane.comp.cms.nuxeo.general</a>.</li>
<li>Subscribe to the <a href="http://lists.nuxeo.com/mailman/listinfo/ecm-checkins">&#8220;ECM-checkins&#8221; mailing list</a> to watch source code changes in real time or browse search the gmane archive at <a href="http://dir.gmane.org/gmane.comp.cms.nuxeo.scm">gmane.comp.cms.nuxeo.scm</a>.</li>
<li>/join #nuxeo5, the official IRC channel on freenode: <a href="irc://irc.freenode.org/nuxeo5">irc://irc.freenode.org/nuxeo5</a></li>
<li>Get the source code using Subversion, by using this URL: <code> http://svn.nuxeo.org/nuxeo/nuxeo-ep/trunk </code> There is also <a href="http://maven.nuxeo.org/source-repository.html" class="external">more information</a> on this subject on the Maven site (see below).</li>
<li>Read the <a href="http://svn.nuxeo.org/trac/nuxeo/browser/doc/nuxeo5-dev-quickstart-howto.txt" class="external">&#8220;how to get started&#8221;</a> developers quick guide (<a href="http://www.nuxeo.org/sections/documentation/nuxeo5-developer">html version</a>).</li>
<li><a href="http://svn.nuxeo.org/trac/nuxeo/" class="external">Browse the source code</a> or look at the commits timeline using the web interface provided by Trac.</li>
<li>Go to the <a href="http://maven.nuxeo.org/" class="external">Maven site</a> for the Nuxeo 5 project, which contains a lot of generated information for the various Nuxeo 5 components, including Javadocs, cross-referenced, browsable source, tests reports and more.</li>
<li>Look at the outstanding tasks and issues in the <a href="http://jira.nuxeo.org/" class="external">Issue Tracker</a> (Jira).</li>
<li>Look at the <a href="http://www.nuxeo.org/sections/about/roadmap">roadmap</a> and find some tasks that you&#8217;d like to tackle.</li>
<li><a href="mailto:sf@nuxeo.com">Ask us</a> for a developer account to start coding on the source base, if you think you can make a contribution to the project.</li>
</ul>
<p>- <a href="http://maven.nuxeo.org/" title="Maven nuxeo">http://maven.nuxeo.org/</a> (&#8220;<em>This website is the <a href="http://en.wikipedia.org/wiki/Apache_Maven" title="Apache maven">Apache Maven</a> site for the <a href="http://www.nuxeo.org/">Nuxeo EP</a> As stated on the nuxeo.org site, &#8220;Nuxeo 5 is an innovative, standards-based, open source platform for ECM applications. Its <a href="http://en.wikipedia.org/wiki/Software_componentry" title="Component based">component-based</a> and service-oriented architecture makes it easy to customize and extend, making developers more efficient and ultimately, happier&#8221;. For more general information about the project, we strongly suggest that you go to the <a href="http://www.nuxeo.org/">Nuxeo.org website</a>. What you will find on this site are highly technical, developers-focussed, information related to the project. These information are generated by the build tool we use (and we recommend to third-parties that which to use or extend the platform), <a href="http://maven.apache.org/">Apache Maven</a>, from the source code and meta-information developers put in the source.</em> open source ECM platform.&#8221;)</p>
<p>- <a href="http://maven.nuxeo.org/source-repository.html" title="nuxeo source">http://maven.nuxeo.org/source-repository.html</a> (&#8220;<em>This project uses <a href="http://subversion.tigris.org/">Subversion</a><a href="http://svnbook.red-bean.com/">http://svnbook.red-bean.com/</a></em> to manage its source code. Instructions on Subversion use can be found at .&#8221;)</p>
<p>- Accès aux sources</p>
<ul>
<li><strong>Anonymous access</strong></li>
</ul>
<blockquote><p>The source can be checked out anonymously from SVN with this command:</p>
<pre>$ svn checkout http://svn.nuxeo.org/nuxeo/nuxeo-ep/trunk nuxeo-ecm</pre>
</blockquote>
<ul>
<li> <strong>Developer access</strong></li>
</ul>
<blockquote><p> Everyone can access the Subversion repository via HTTPS, but Committers must checkout the Subversion repository via HTTPS.</p>
<pre>$ svn checkout https://svn.nuxeo.org/nuxeo/nuxeo-ep/trunk nuxeo-ecm</pre>
</blockquote>
<p>- <a href="http://in.relation.to/Bloggers/Seam2IsOut" title="Seam2 is out">http://in.relation.to/Bloggers/Seam2IsOut </a>(&#8220;<em><span class="teaserBody">&#8230;the most important thing about the new release is simply that the codebase is much cleaner. The migration to JSF 1.2 allowed us to solve many problems and remove quite a few hacks. We also repackaged built-in components according to a much more logical schema&#8230;</span></em>&#8220;)</p>
<p>- <a href="http://en.wikipedia.org/wiki/Apache_Maven" title="Apache maven">http://en.wikipedia.org/wiki/Apache_Maven</a> (&#8220;<em>&#8230;<strong>Maven</strong> is a software tool for <a href="http://en.wikipedia.org/wiki/Java_%28programming_language%29" title="Java (programming language)">Java programming language</a> project management and automated software build. It is similar in functionality to the <a href="http://en.wikipedia.org/wiki/Apache_Ant" title="Apache Ant">Apache Ant</a> tool (and to a lesser extent, PHP&#8217;s PEAR and Perl&#8217;s CPAN), but has a simpler build configuration model, based on an <a href="http://en.wikipedia.org/wiki/XML" title="XML">XML</a> format. Maven is hosted by the <a href="http://en.wikipedia.org/wiki/Apache_Software_Foundation" title="Apache Software Foundation">Apache Software Foundation</a>, where it was formerly part of the <a href="http://en.wikipedia.org/wiki/Jakarta_Project" title="Jakarta Project">Jakarta Project</a>. Maven uses a construct known as a <a href="http://en.wikipedia.org/wiki/Project_Object_Model" title="Project Object Model">Project Object Model</a> (POM) to describe the software project being built, its dependencies on other external modules and components, and the build order&#8230;</em>&#8220;)</p>
<p>- <a href="http://fr.wikipedia.org/wiki/JBoss" title="Jboss">http://fr.wikipedia.org/wiki/JBoss</a> (&#8220;<strong>JBoss Application Server</strong> est un <a href="http://fr.wikipedia.org/wiki/Serveur_d%27applications" title="Serveur d'applications">serveur d&#8217;applications</a> <a href="http://fr.wikipedia.org/wiki/J2EE" title="J2EE">J2EE</a> <a href="http://fr.wikipedia.org/wiki/Logiciel_libre" title="Logiciel libre">Libre</a> entièrement écrit en <a href="http://fr.wikipedia.org/wiki/Java_%28langage%29" title="Java (langage)">Java</a>, publié sous licence <a href="http://fr.wikipedia.org/wiki/Licence_publique_g%C3%A9n%C3%A9rale_limit%C3%A9e_GNU" title="Licence publique générale limitée GNU">LGPL</a>. Parce que le logiciel est écrit en Java, JBoss Application Server peut être utilisé sur tout système d&#8217;exploitation fournissant une <a href="http://fr.wikipedia.org/wiki/Machine_virtuelle_Java" title="Machine virtuelle Java">machine virtuelle Java</a> (<a href="http://fr.wikipedia.org/wiki/JVM" title="JVM">JVM</a>). Les développeurs du cœur de JBoss ont tous été employés par une société de services appelée « JBoss Inc. ». Celle-ci a été créée par <a href="http://fr.wikipedia.org/wiki/Marc_Fleury" title="Marc Fleury">Marc Fleury</a>, le concepteur de la première version de JBoss. Le projet est sponsorisé par un réseau mondial de partenaires et utilise un <a href="http://fr.wikipedia.org/wiki/Business_model" title="Business model">business model</a> fondé sur le service. En avril 2006, <a href="http://fr.wikipedia.org/wiki/Red_Hat" title="Red Hat">Red Hat</a> a racheté JBoss Inc. En février 2007 <a href="http://fr.wikipedia.org/wiki/Marc_Fleury" title="Marc Fleury">Marc Fleury</a> quitte le groupe <a href="http://fr.wikipedia.org/wiki/Red_Hat" title="Red Hat">Red Hat</a>. JBoss Application Server implémente entièrement l&#8217;ensemble des services <a href="http://fr.wikipedia.org/wiki/J2EE" title="J2EE">J2EE</a>. Cela inclue JBoss Portal, JBoss Seam, <a href="http://fr.wikipedia.org/wiki/Apache_Tomcat" title="Apache Tomcat">Tomcat</a> et les <a href="http://fr.wikipedia.org/wiki/Framework" title="Framework">frameworks</a> <a href="http://fr.wikipedia.org/wiki/Hibernate" title="Hibernate">Hibernate</a>, <a href="http://fr.wikipedia.org/wiki/JBoss_jBPM" title="JBoss jBPM">jBPM</a>, et Rules.&#8221;)</p>
<p>- <a href="http://fr.wikipedia.org/wiki/Subversion_(logiciel)" title="Subversion">http://fr.wikipedia.org/wiki/Subversion_(logiciel) </a> (&#8220;<em><strong>Subversion</strong> (en abrégé <strong>svn</strong>) est un <a href="http://fr.wikipedia.org/wiki/Syst%C3%A8me_de_gestion_de_versions" title="Système de gestion de versions">système de gestion de versions</a>, distribué sous licence <a href="http://fr.wikipedia.org/wiki/Licence_Apache" title="Licence Apache">Apache</a> et <a href="http://fr.wikipedia.org/wiki/Licence_BSD" title="Licence BSD">BSD</a>. Il a été conçu pour remplacer <a href="http://fr.wikipedia.org/wiki/Concurrent_versions_system" title="Concurrent versions system">CVS</a>. Ses auteurs s&#8217;appuient volontairement sur les mêmes concepts (notamment sur le principe du dépôt centralisé et unique) et considèrent que le modèle de CVS est le bon, et que seule son implémentation est en cause. Le projet a été lancé en février 2000 par <a href="http://fr.wikipedia.org/wiki/CollabNet" title="CollabNet">CollabNet</a>, avec l&#8217;embauche par <a href="http://fr.wikipedia.org/w/index.php?title=Jim_Blandy&amp;action=edit" class="new" title="Jim Blandy">Jim Blandy</a> de <a href="http://fr.wikipedia.org/w/index.php?title=Karl_Fogel&amp;action=edit" class="new" title="Karl Fogel">Karl Fogel</a>, qui travaillait déjà sur un nouveau gestionnaire de version.&#8221;</em>)</p>
<p>- <a href="http://en.wikipedia.org/wiki/Enterprise_JavaBean" title="EJB">http://en.wikipedia.org/wiki/Enterprise_JavaBean</a> (&#8220;<em><strong>Enterprise Java Bean </strong>is a managed, server-side component architecture for modular construction of enterprise applications.The EJB specification is one of the several <a href="http://en.wikipedia.org/wiki/Java_platform" title="Java platform">Java</a> <a href="http://en.wikipedia.org/wiki/Application_programming_interface" title="Application programming interface">APIs</a> in the <a href="http://en.wikipedia.org/wiki/Java_Platform%2C_Enterprise_Edition" title="Java Platform, Enterprise Edition">Java Platform, Enterprise Edition</a>. The EJB </em>specification was originally developed in 1997 by  <em><a href="http://en.wikipedia.org/wiki/International_Business_Machines" title="International Business Machines">IBM</a> and later adopted by <a href="http://en.wikipedia.org/wiki/Sun_Microsystems" title="Sun Microsystems">Sun Microsystems</a> (EJB 1.0 and 1.1) and enhanced under the <a href="http://en.wikipedia.org/wiki/Java_Community_Process" title="Java Community Process">Java Community Process</a> as <a href="http://www.jcp.org/en/jsr/detail?id=19" class="external text" title="http://www.jcp.org/en/jsr/detail?id=19" rel="nofollow">JSR 19</a> (EJB 2.0), <a href="http://www.jcp.org/en/jsr/detail?id=153" class="external text" title="http://www.jcp.org/en/jsr/detail?id=153" rel="nofollow">JSR 153</a> (EJB 2.1) and <a href="http://www.jcp.org/en/jsr/detail?id=220" class="external text" title="http://www.jcp.org/en/jsr/detail?id=220" rel="nofollow">JSR 220</a> (EJB 3.0). The EJB specification intends to provide a <strong>standard way to implement the back-end &#8216;business&#8217; code</strong> typically found in enterprise applications (<strong>as opposed to &#8216;front-end&#8217; user-interface code</strong>). Such code was frequently found to reproduce the same types of problems, and it was found that solutions to these problems are often repeatedly re-implemented by programmers. Enterprise Java Beans were intended to handle such common concerns as persistence, transactional integrity, and security in a standard way, leaving programmers free to concentrate on the particular problem at hand</em>.)</p>
<p>- <a href="http://en.wikipedia.org/wiki/Java_Persistence_API" title="JPA">http://en.wikipedia.org/wiki/Java_Persistence_API</a> (&#8220;<em>&#8230;The Java Persistence API was defined as part of the <a href="http://en.wikipedia.org/wiki/Enterprise_JavaBean#EJB_3.0.2C_final_release_.282006-05-02.29" title="Enterprise JavaBean">EJB 3.0</a> specification, which is itself part of the Java EE 5 platform..The Java Persistence API is designed for relational persistence, with many of the key areas taken from <a href="http://en.wikipedia.org/wiki/Object-relational_mapping" title="Object-relational mapping">object-relational </a>mapping tools such as<a href="http://en.wikipedia.org/wiki/Object-relational_mapping" title="Object-relational mapping"> </a><a href="http://en.wikipedia.org/wiki/Hibernate_%28Java%29" title="Hibernate (Java)">Hibernate</a> and <a href="http://en.wikipedia.org/wiki/TopLink" title="TopLink">TopLink</a>. It is generally accepted that the Java Persistence API is a significant improvement on the EJB 2.0 specification&#8230;Many enterprise Java developers have been using lightweight persistent objects provided by open-source frameworks or Data Access Objects </em>instead of entity beans <em>because entity beans and enterprise beans were considered too heavyweight and complicated, and they could only be used in Java EE application servers. Many of the features of the third-party persistence frameworks were incorporated into the Java Persistence API, and projects like <a href="http://en.wikipedia.org/wiki/Hibernate_%28Java%29" title="Hibernate (Java)">Hibernate</a> and <a href="http://en.wikipedia.org/wiki/TopLink" title="TopLink">TopLink</a> are now implementations of the Java Persistence API&#8230;</em>&#8220;)</p>
<p>- <a href="http://en.wikipedia.org/wiki/Red_Hat" title="Red hat">http://en.wikipedia.org/wiki/Red_Hat </a>(&#8220;<em><strong>Red Hat, Inc.</strong> (<a href="http://en.wikipedia.org/wiki/New_York_Stock_Exchange" title="New York Stock Exchange">NYSE</a>: <a href="http://www.nyse.com/about/listed/lcddata.html?ticker=RHT" class="external text" title="http://www.nyse.com/about/listed/lcddata.html?ticker=RHT" rel="nofollow">RHT</a>) is one of the larger and more recognized companies dedicated to <a href="http://en.wikipedia.org/wiki/Open_source" title="Open source">open source</a> software. It is also the largest distributor of the <a href="http://en.wikipedia.org/wiki/Linux" title="Linux">Linux</a> <a href="http://en.wikipedia.org/wiki/Operating_system" title="Operating system">operating system</a><sup><span title="This claim needs references to reliable sources since April 2007" style="white-space:nowrap;"></span></sup>. Red Hat was founded in 1995 and has its corporate headquarters in <a href="http://en.wikipedia.org/wiki/Raleigh%2C_North_Carolina" title="Raleigh, North Carolina">Raleigh, North Carolina</a>. The company is best known for its enterprise-class operating system, <a href="http://en.wikipedia.org/wiki/Red_Hat_Enterprise_Linux" title="Red Hat Enterprise Linux">Red Hat Enterprise Linux</a> and more recently through the acquisition of open source enterprise middleware vendor <a href="http://en.wikipedia.org/wiki/JBoss" title="JBoss">JBoss</a>. Red Hat provides operating system platforms along with <a href="http://en.wikipedia.org/wiki/Middleware" title="Middleware">middleware</a>, applications, and management solutions, as well as support, training, and consulting services.&#8221;</em>)</p>
<blockquote></blockquote>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pvergain.wordpress.com/136/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pvergain.wordpress.com/136/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pvergain.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pvergain.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pvergain.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pvergain.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pvergain.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pvergain.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pvergain.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pvergain.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pvergain.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pvergain.wordpress.com/136/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvergain.wordpress.com&blog=696018&post=136&subd=pvergain&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://pvergain.wordpress.com/2007/11/07/quelques-outils-pour-developper-une-application-open-source-une-application-open-source-basee-sur-jee-5-et-jboss-seam-nuxeo5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9a2b1985a6f239af4bcfaa1f6199b5d4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pvergain</media:title>
		</media:content>
	</item>
		<item>
		<title>Outils de gestion de version (subversion,mercurial), gestion de projet (trac), intégration continue (buildbot)</title>
		<link>http://pvergain.wordpress.com/2007/07/09/outils-de-gestion-de-version-svn-trac-buildbot/</link>
		<comments>http://pvergain.wordpress.com/2007/07/09/outils-de-gestion-de-version-svn-trac-buildbot/#comments</comments>
		<pubDate>Mon, 09 Jul 2007 11:02:08 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[Gestion de projet]]></category>
		<category><![CDATA[Gestion de version]]></category>
		<category><![CDATA[Génie logiciel]]></category>
		<category><![CDATA[Intégration continue]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://pvergain.wordpress.com/2007/07/09/outils-de-gestion-de-version-svn-trac-buildbot/</guid>
		<description><![CDATA[En lisant l&#8217;excellent blog de Tarek ziade (http://programmation-python.org/sections/blog) je tombe sur les sujets qui m&#8217;intéressent aujourd&#8217;hui:
1) la gestion de version  aussi bien centralisée (avec subversion de préférence à cvs) que décentralisée (mercurial ou bazaar-ng).
2) la gestion de projet  avec un outil comme trac 

3) l&#8217;intégration continue(&#8220;L&#8217;intégration continue est une technique utilisée en génie [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvergain.wordpress.com&blog=696018&post=73&subd=pvergain&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>En lisant l&#8217;excellent blog de Tarek ziade (<a href="http://programmation-python.org/sections/blog" title="Le blog de Tarek Ziade">http://programmation-python.org/sections/blog</a>) je tombe sur les sujets qui m&#8217;intéressent aujourd&#8217;hui:</p>
<p>1) <a href="http://fr.wikipedia.org/wiki/Gestion_de_version" title="Gestion de version. (2007, juin 15). Wikipédia, l'encyclopédie libre. Page consultée le 10:40, juillet 9, 2007 à partir de http://fr.wikipedia.org/w/index.php?title=Gestion_de_version&amp;oldid=17922083.">la gestion de version</a>  aussi bien centralisée (avec <a href="http://fr.wikipedia.org/wiki/Subversion_%28logiciel%29" title="Subversion">subversion</a> de préférence à <a href="http://fr.wikipedia.org/wiki/CVS" title="cvs">cvs</a>) que <a href="http://fr.wikipedia.org/wiki/Gestion_de_version_d%C3%A9centralis%C3%A9e" title="Gestion décentralisée des sources">décentralisée</a> (<a href="http://fr.wikipedia.org/wiki/Mercurial" title="Mercurial. (2007, juin 30). Wikipédia, l'encyclopédie libre. Page consultée le 11:27, juillet 9, 2007 à partir de http://fr.wikipedia.org/w/index.php?title=Mercurial&amp;oldid=18390368.">mercurial</a> ou <a href="http://en.wikipedia.org/wiki/Bazaar-ng" title="Bazaar-ng. (2007, January 23). In Wikipedia, The Free Encyclopedia. Retrieved 11:31, July 9, 2007, from http://en.wikipedia.org/w/index.php?title=Bazaar-ng&amp;oldid=102602983">bazaar-ng</a>).</p>
<p>2) <a href="http://fr.wikipedia.org/wiki/Gestion_de_projet" title="Gestion de projet. (2007, juillet 9). Wikipédia, l'encyclopédie libre. Page consultée le 10:48, juillet 9, 2007 à partir de http://fr.wikipedia.org/w/index.php?title=Gestion_de_projet&amp;oldid=18652337.">la gestion de projet</a>  avec un outil comme <a href="http://fr.wikipedia.org/wiki/Trac_%28logiciel%29" title="Trac (logiciel). (2007, juin 30). Wikipédia, l'encyclopédie libre. Page consultée le 10:49, juillet 9, 2007 à partir de http://fr.wikipedia.org/w/index.php?title=Trac_%28logiciel%29&amp;oldid=18382561.">trac</a> <a href="http://fr.wikipedia.org/wiki/Trac_%28logiciel%29" title="Trac (logiciel). (2007, juin 30). Wikipédia, l'encyclopédie libre. Page consultée le 10:49, juillet 9, 2007 à partir de http://fr.wikipedia.org/w/index.php?title=Trac_%28logiciel%29&amp;oldid=18382561."><br />
</a></p>
<p>3) <a href="http://en.wikipedia.org/wiki/Continuous_integration" title="Continuous integration. (2007, July 9). In Wikipedia, The Free Encyclopedia. Retrieved 10:54, July 9, 2007, from http://en.wikipedia.org/w/index.php?title=Continuous_integration&amp;oldid=143471873">l&#8217;intégration continue</a>(<em>&#8220;L&#8217;<strong>intégration continue</strong> est une technique utilisée en <a href="http://fr.wikipedia.org/wiki/G%C3%A9nie_logiciel" title="Génie logiciel">génie logiciel</a>. Elle consiste à vérifier à chaque modification de <a href="http://fr.wikipedia.org/wiki/Code_source" title="Code source">code source</a> que le résultat des modifications ne produit pas de régression de l&#8217;application en cours de développement. Bien que le concept existait auparavant, l&#8221;intégration continue&#8221; se réfère généralement a la pratique de l&#8217;<a href="http://fr.wikipedia.org/wiki/Extreme_programming" title="Extreme programming">extreme programming</a>&#8220;</em>) avec <a href="http://en.wikipedia.org/wiki/BuildBot" title="Buildbot. (2006, May 23). In Wikipedia, The Free Encyclopedia. Retrieved 10:56, July 9, 2007, from http://en.wikipedia.org/w/index.php?title=Buildbot&amp;oldid=54659577">buildbot</a> (<em><strong>&#8220;BuildBot</strong> is a software development <a href="http://en.wikipedia.org/wiki/Continuous_integration" title="Continuous integration">continuous integration</a> tool which automates the <a href="http://en.wikipedia.org/wiki/Compile" title="Compile">compile</a>/test cycle required to validate changes to the project code base. It began as an light-weight alternative to the <a href="http://en.wikipedia.org/wiki/Mozilla" title="Mozilla">Mozilla</a> project&#8217;s <a href="http://en.wikipedia.org/wiki/Tinderbox_%28software%29" title="Tinderbox (software)">Tinderbox</a>&#8220;</em>)</p>
<p>En ce qui concerne subversion, trac et builbot, un excellent document d&#8217;Olivier Ramonat et Pascal Obry cité par Tarek: <a href="http://olivier.ramonat.free.fr/svn_trac_buildbot/svn_trac_buildbot_fr.html" title="Svn, trac, buildbot">http://olivier.ramonat.free.fr/svn_trac_buildbot/svn_trac_buildbot_fr.html </a><em><u>(&#8220;</u>Ce document porte sur l&#8217;installation sur un serveur d&#8217;une suite d&#8217;outils de gestion informatique<a href="http://olivier.ramonat.free.fr/svn_trac_buildbot/svn_trac_buildbot_fr.html" title="Svn, trac, buildbot">: </a></em></p>
<ul class="itemize">
<li class="li-itemize"><em><a href="http://en.wikipedia.org/wiki/Subversion_%28software%29" title="Subversion"> Subversion</a> (gestion de version) pour le contrôle de version; </em></li>
<li class="li-itemize"><em>Trac (gestion de projet) pour la  gestion de projet : Wiki, système de gestion de tickets et suivi de  l&#8217;évolution des sources (quand il est couplé à Subversion); </em></li>
<li class="li-itemize"><em>et Buildbot (intégration continue) pour l&#8217;automatisation du packaging, des compilations  et des tests. </em></li>
</ul>
<p><em> Ces trois outils peuvent interagir et permettent ensemble d&#8217;améliorer la qualité et la rapidité d&#8217;un développement logiciel. Installés sur un serveur, ils peuvent être partagés par différents projets très facilement. Il est possible de réaliser l&#8217;installation de plusieurs manières. Ce document propose un modèle d&#8217;installation et d&#8217;administration qui se veut cohérent, simple et sécurisé.&#8221;)</em></p>
<p><u>Webographie:</u></p>
<p>- <a href="http://en.wikipedia.org/w/index.php?title=List_of_revision_control_software" title="List of revision control software. (2007, July 4). In Wikipedia, The Free Encyclopedia. Retrieved 10:37, July 9, 2007, from http://en.wikipedia.org/w/index.php?title=List_of_revision_control_software&amp;oldid=142455915">http://en.wikipedia.org/wiki/List_of_revision_control_software</a><a href="http://en.wikipedia.org/w/index.php?title=List_of_revision_control_software&amp;oldid=142455915" class="external free" title="http://en.wikipedia.org/w/index.php?title=List_of_revision_control_software&amp;oldid=142455915" rel="nofollow"></a></p>
<p>- <a href="http://trac.edgewall.org/wiki/TracMercurial" title="Trac avec mercurial">http://trac.edgewall.org/wiki/TracMercurial</a> (<em>&#8220;There is an <strong>experimental</strong> plugin for Trac <a href="http://trac.edgewall.org/milestone/0.10" class="milestone">0.10</a> and  Trac <a href="http://trac.edgewall.org/milestone/0.11" class="milestone">0.11</a> which enables <a href="http://www.selenic.com/mercurial" class="ext-link"><span class="icon">Mercurial</span></a>  to be used instead of <a href="http://subversion.tigris.org/" class="ext-link"><span class="icon">Subversion</span></a> as the <a href="http://trac.edgewall.org/wiki/VersioningSystemBackend" class="wiki">VersioningSystemBackend</a> for Trac.</em><em> The plugin being experimental, expect some rough edges and a somewhat unstable set of features/documentation&#8230;&#8221;</em>)</p>
<p>- <a href="http://hgbook.red-bean.com/hgbook.pdf" title="Mercurial">http://hgbook.red-bean.com/hgbook.pdf</a> (&#8220;<em>Distributed revision control with Mercurial&#8230;If the core functionality of Mercurial is not enough for you, it’s easy to build on. Mercurial is well suited to scripting tasks, and its clean internals and implementation in Python make it easy to add features in the form of extensions. There are a number of popular and useful extensions already available, ranging from helping to identify bugs to improving performance&#8230;Subversion is a popular revision control tool, developed to replace CVS. It has a centralised client/server architecture. Subversion and Mercurial have similarly named commands for performing the same operations, so it is easy for a<br />
person who is familiar with one to learn to use the other. Both tools are portable to all popular operating systems</em>&#8220;)</p>
<p>- <a href="http://fr.wikipedia.org/wiki/Subversion_%28logiciel%29" title="Subversion (logiciel). (2007, juillet 1). Wikipédia, l'encyclopédie libre. Page consultée le 11:37, juillet 9, 2007 à partir de http://fr.wikipedia.org/w/index.php?title=Subversion_%28logiciel%29&amp;oldid=18402937.">http://fr.wikipedia.org/wiki/Subversion_logiciel</a>  (<em>&#8220;Subversion a été écrit afin de combler certains manques de <a href="http://fr.wikipedia.org/wiki/CVS" title="CVS">CVS</a>. Voici les principaux apports :</em></p>
<ul>
<li><em>Les </em><em>commits, ou publications des modifications sont <a href="http://fr.wikipedia.org/wiki/Propri%C3%A9t%C3%A9s_ACID" title="Propriétés ACID">atomiques</a>. Un serveur Subversion utilise de façon sous-jacente une base de données capable de gérer les transactions atomiques (le plus souvent <a href="http://fr.wikipedia.org/wiki/Berkeley_DB" title="Berkeley DB">Berkeley DB</a>) ;</em></li>
<li><em>Subversion permet le renommage et déplacement de fichiers ou de répertoires sans en perdre l&#8217;historique. ;</em></li>
<li><em>les méta-données sont versionnées : on peut attacher des propriétés, comme les permissions, à un fichier, par exemple</em>)</li>
</ul>
<p>- <a href="http://fr.wikipedia.org/wiki/Mercurial" title="Mercurial. (2007, juin 30). Wikipédia, l'encyclopédie libre. Page consultée le 11:41, juillet 9, 2007 à partir de http://fr.wikipedia.org/w/index.php?title=Mercurial&amp;oldid=18390368.">http://fr.wikipedia.org/wiki/Mercurial</a> (<em>&#8220;<strong>Mercurial</strong> est un logiciel de <a href="http://fr.wikipedia.org/wiki/Gestion_de_version" title="Gestion de version">gestion de version</a></em> distribué. Il est disponible sur plusieurs plate-formes : Unix-like, Windows, Mac OS X.<em> Il est écrit principalement en <a href="http://fr.wikipedia.org/wiki/Python_%28langage%29" title="Python (langage)">Python</a>. Mercurial a été créé pour s&#8217;utiliser via des lignes de commande. Toutes les commandes commencent par <u>hg</u>, en référence au symbole chimique du <a href="http://fr.wikipedia.org/wiki/Mercure_%28chimie%29" title="Mercure (chimie)">mercure</a>. Ses principales caractéristiques sont entre autres :</em></p>
<ul>
<li><em>sa rapidité et sa capacité à gérer les gros projets</em></li>
<li><em>son utilisation sans nécessiter un serveur</em></li>
<li><em>son fonctionnement complètement distribué</em></li>
<li><em>sa robustesse dans la gestion des fichiers ASCII et binaires</em></li>
<li><em>sa gestion avancée des branches et des fusions</em></li>
<li><em>son interface web intégrée&#8221;)</em></li>
<li><a href="http://pvergain.files.wordpress.com/2007/07/mercurial-logo1.png" title="Logo mercurial"><img src="http://pvergain.files.wordpress.com/2007/07/mercurial-logo1.thumbnail.png" alt="Logo mercurial" /></a></li>
</ul>
<p>- <a href="http://fr.wikipedia.org/wiki/Gestion_de_version_d%C3%A9centralis%C3%A9e" title="Gestion décentralisée des sources">http://fr.wikipedia.org/wiki/Gestion_de_version_d%C3%A9centralis%C3%A9e</a> (&#8220;<em>Quand on pense à la gestion de version, on a, en général, une vision centralisée des choses. En gros, on s&#8217;imagine un mécanisme qui va permettre à plusieurs intervenants de collecter leurs interventions</em>.<em> Or, en particulier avec l&#8217;arrivée des logiciels libres et leur développement communautaire, une autre façon de voir la gestion de version est apparue. Cette autre vision consiste à voir l&#8217;outil de gestion de version comme un outil permettant à chacun de travailler à son rythme, de façon désynchronisé des autres, puis d&#8217;offrir un moyen à ces développeurs de s&#8217;échanger leur travaux respectifs. C&#8217;est ce que l&#8217;on nomme la gestion de version décentralisée.&#8221;</em>)</p>
<p>- <a href="http://en.wikipedia.org/wiki/Apache_Gump" title="Apache Gump. (2007, May 3). In Wikipedia, The Free Encyclopedia. Retrieved 12:06, July 9, 2007, from http://en.wikipedia.org/w/index.php?title=Apache_Gump&amp;oldid=127928376">http://en.wikipedia.org/wiki/Apache_Gump</a>  (&#8220;<strong>Apache Gump</strong> is an <a href="http://en.wikipedia.org/wiki/Open_source" title="Open source">open source</a> <a href="http://en.wikipedia.org/wiki/Continuous_Integration" title="Continuous Integration">Continuous Integration</a> system, which aims to build and test all the open source Java projects, every night. Its aim is to make sure that all the projects are compatible, at both the API level and in terms of functionality matching specifications. It is hosted at <a href="http://gump.apache.org/" class="external text" title="http://gump.apache.org" rel="nofollow">gump.apache.org</a>, and runs every night on the official Sun <a href="http://en.wikipedia.org/wiki/JVM" title="JVM">JVM</a>&#8230;.Gump was created by <a href="http://en.wikipedia.org/wiki/Sam_Ruby" title="Sam Ruby">Sam Ruby</a>, based on his experience in the <a href="http://en.wikipedia.org/wiki/Perl" title="Perl">Perl</a> community. It was originally written in <a href="http://en.wikipedia.org/wiki/Java_%28programming_language%29" title="Java (programming language)">Java</a> .Gump 3 is a complete rewrite in <a href="http://en.wikipedia.org/wiki/Python_%28programming_language%29" title="Python (programming language)">Python</a>. It is the live version. <a href="http://pvergain.files.wordpress.com/2007/07/gump-logo.png" title="Gump logo"><img src="http://pvergain.files.wordpress.com/2007/07/gump-logo.thumbnail.png" alt="Gump logo" /></a>&#8220;)</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pvergain.wordpress.com/73/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pvergain.wordpress.com/73/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pvergain.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pvergain.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pvergain.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pvergain.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pvergain.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pvergain.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pvergain.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pvergain.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pvergain.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pvergain.wordpress.com/73/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvergain.wordpress.com&blog=696018&post=73&subd=pvergain&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://pvergain.wordpress.com/2007/07/09/outils-de-gestion-de-version-svn-trac-buildbot/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9a2b1985a6f239af4bcfaa1f6199b5d4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pvergain</media:title>
		</media:content>

		<media:content url="http://pvergain.files.wordpress.com/2007/07/mercurial-logo1.thumbnail.png" medium="image">
			<media:title type="html">Logo mercurial</media:title>
		</media:content>

		<media:content url="http://pvergain.files.wordpress.com/2007/07/gump-logo.thumbnail.png" medium="image">
			<media:title type="html">Gump logo</media:title>
		</media:content>
	</item>
		<item>
		<title>En vrac: quelques liens sur Python: ironpython.info, bazaar, mailman, django-fr</title>
		<link>http://pvergain.wordpress.com/2007/06/04/en-vrac-quelques-liens-sur-python/</link>
		<comments>http://pvergain.wordpress.com/2007/06/04/en-vrac-quelques-liens-sur-python/#comments</comments>
		<pubDate>Mon, 04 Jun 2007 11:36:58 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[DotNet]]></category>
		<category><![CDATA[Gestion de version]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://pvergain.wordpress.com/2007/06/04/en-vrac-quelques-liens-sur-python/</guid>
		<description><![CDATA[
nouveau site sur Ironpython : http://www.ironpython.info/ (This wiki contains recipes and example code for IronPython.  IronPython is a Microsoft port of the Python Programming Language to the .NET framework.)
toujours par rapport à Ironpython,  Seo Sanghyeon débute un blog. 
le gestionnaire de sources de mailman passe au gestionnaire de sources distribué Bazaar (voir le [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvergain.wordpress.com&blog=696018&post=50&subd=pvergain&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><ul>
<li>nouveau site sur Ironpython : <a href="http://www.ironpython.info" title="Site sur ironpython">http://www.ironpython.info</a>/ <em>(This wiki contains recipes and example code for <a href="http://www.codeplex.com/IronPython" class="external text" title="http://www.codeplex.com/IronPython" rel="nofollow">IronPython</a>.  IronPython is a Microsoft port of the <a href="http://www.python.org/" class="external text" title="http://www.python.org" rel="nofollow">Python Programming Language</a> to the <a href="http://en.wikipedia.org/wiki/.net_framework" title="Le .Net framework">.NET framework.</a>)</em></li>
<li>toujours par rapport à Ironpython, <em> </em>Seo Sanghyeon débute un <a href="http://fepy.blogspot.com/" title="Blog de Seo Sanghyeon">blog.</a><em> </em></li>
<li>le gestionnaire de sources de mailman passe au gestionnaire de sources distribué <a href="http://en.wikipedia.org/wiki/Bazaar_software" title="Bazaar-ng. (2007, January 23). In Wikipedia, The Free Encyclopedia. Retrieved 11:31, July 9, 2007, from http://en.wikipedia.org/w/index.php?title=Bazaar-ng&amp;oldid=102602983">Bazaar</a> (voir le site <a href="http://wiki.list.org/display/DEV/MailmanOnLaunchpad" title="Gestionnaire de sources distribué Bazaaz">http://wiki.list.org/display/DEV/MailmanOnLaunchpad</a>)</li>
</ul>
<blockquote><p><em>The Mailman source code was originally maintained using CVS, and only a few people had write access to the code. Later, development was moved to <span class="nobr"><a href="http://sourceforge.net/" rel="nofollow">SourceForge</a></span> and then the CVS repository was converted to Subversion. This proved to be a successful transition, as Subversion provides many benefits over CVS.</em></p>
<p><em>Now however, it&#8217;s become clear that even Subversion has its limitations, and better options exist. Specifically, <u>we want to use a distributed (or decentralized) revision control system</u>. A dvcs has many beneficial features, both for the core developers and for casual, third party developers. These include:</em></p>
<ul>
<li><em>No write access to the central repository is necessary in order to develop, maintain, version control, and publish unofficial contributions.</em></li>
<li><em>No connection to a repository server is necessary in order to commit changes.</em></li>
<li><em>Much better branching and merging operations; no need to commit partially completed work.</em></li>
<li><em>Much better merge tracking.</em></li>
<li><em>Ability to sign revisions with <span class="nobr"><a href="http://www.gnupg.org/" rel="nofollow">GPG</a></span>.</em></li>
<li><em>Written in <span class="nobr"><a href="http://www.python.org/" rel="nofollow">Python</a></span>, with an easy plug-in architecture.</em></li>
<li><em>Simple and intuitive commands.</em></li>
</ul>
</blockquote>
<ul>
<li>Nouveau site sur Django en Français: <a href="http://www.django-fr.org/" title="Site francophone sur Django">http://www.django-fr.org/.</a> Bravo en particulier à David Larlet (<a href="http://www.biologeek.com" title="biologeek.com le site de David Larlet">http://www.biologeek.com</a>)</li>
</ul>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pvergain.wordpress.com/50/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pvergain.wordpress.com/50/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pvergain.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pvergain.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pvergain.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pvergain.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pvergain.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pvergain.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pvergain.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pvergain.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pvergain.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pvergain.wordpress.com/50/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pvergain.wordpress.com&blog=696018&post=50&subd=pvergain&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://pvergain.wordpress.com/2007/06/04/en-vrac-quelques-liens-sur-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9a2b1985a6f239af4bcfaa1f6199b5d4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pvergain</media:title>
		</media:content>
	</item>
	</channel>
</rss>