<?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/"
	>

<channel>
	<title>Sukria.net &#187; Plack</title>
	<atom:link href="http://www.sukria.net/fr/archives/tag/plack/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sukria.net/fr</link>
	<description>I will press many keys on my keyboard causing an implementation to occur.</description>
	<lastBuildDate>Wed, 18 Jan 2012 17:11:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>PSGI/Plack the ultimate Perl Web Server</title>
		<link>http://www.sukria.net/fr/archives/2010/01/22/psgiplack-the-ultimate-perl-web-server/</link>
		<comments>http://www.sukria.net/fr/archives/2010/01/22/psgiplack-the-ultimate-perl-web-server/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 11:26:25 +0000</pubDate>
		<dc:creator>sukria</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Perl Web Server]]></category>
		<category><![CDATA[Plack]]></category>

		<guid isPermaLink="false">http://www.sukria.net/fr/?p=1394</guid>
		<description><![CDATA[Google has to realize like we all do, that Plack is the utlimate Perl Web Server. The first slot will be hard to reach though, because of that sourceforge page which has &#8220;perlwebserver&#8221; in its hostname. Tweet blog tools and plugins from www.zeitblog.comRelated posts: Mounting a Dancer app into Apache + PSGI/Plack EDIT : This &#8230; <a href="http://www.sukria.net/fr/archives/2010/01/22/psgiplack-the-ultimate-perl-web-server/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Google has to realize like we all do, that <a href="http://plackperl.org">Plack</a> is the utlimate <a href="http://plackperl.org">Perl Web Server</a>.</p>
<p>The first slot will be hard to reach though, because of that sourceforge page which has &#8220;perlwebserver&#8221; in its hostname.</p>
<div id='teoShare' ><div id='teo2Google'>
		<!-- Place this tag where you want the +1 button to render -->
		<g:plusone size='tall' annotation='none'></g:plusone>

		<!-- Place this render call where appropriate -->
		<script type='text/javascript'>
		  (function() {
			var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
			po.src = 'https://apis.google.com/js/plusone.js';
			var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
		  })();
		</script>
		</div><div id="teoTweet" >
		<a href="http://twitter.com/share" class="twitter-share-button" data-count="none" data-via="sukria">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script> </div></div><div style="height:0px; width:0px; overflow:hidden;"><a href="http://www.zeitblog.com/?in=plugin">blog tools and plugins from www.zeitblog.com</a></div><p>Related posts:<ol>
<li><a href='http://www.sukria.net/fr/archives/2009/09/20/mounting-a-dancer-app-into-apache-psgiplack/' rel='bookmark' title='Mounting a Dancer app into Apache + PSGI/Plack'>Mounting a Dancer app into Apache + PSGI/Plack</a> <small>EDIT : This is going to change as soon as...</small></li>
<li><a href='http://www.sukria.net/fr/archives/2010/01/11/using-plack-to-run-a-dancer-app-under-a-cgi-environment/' rel='bookmark' title='Using Plack to run a Dancer app under a CGI environment'>Using Plack to run a Dancer app under a CGI environment</a> <small>Sawyer X on blogs.perl.org recently wondered how one could run...</small></li>
<li><a href='http://www.sukria.net/fr/archives/2009/09/19/perl-dancer-0-9904-released/' rel='bookmark' title='Perl Dancer 0.9904 released'>Perl Dancer 0.9904 released</a> <small>I&#8217;ve just published a new version of Dancer. It&#8217;s basically...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.sukria.net/fr/archives/2010/01/22/psgiplack-the-ultimate-perl-web-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting rid of CGI.pm in Dancer&#8217;s code</title>
		<link>http://www.sukria.net/fr/archives/2010/01/16/getting-rid-of-cgi-pm-in-dancers-code/</link>
		<comments>http://www.sukria.net/fr/archives/2010/01/16/getting-rid-of-cgi-pm-in-dancers-code/#comments</comments>
		<pubDate>Sat, 16 Jan 2010 16:57:33 +0000</pubDate>
		<dc:creator>sukria</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Dancer]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Plack]]></category>

		<guid isPermaLink="false">http://www.sukria.net/fr/?p=1389</guid>
		<description><![CDATA[Yes, I finally took the decision to stop using CGI.pm in Dancer&#8216;s code. It was not an easy decision to take, mainly because of the following reasons: it&#8217;s in the core (I&#8217;m a &#8220;less-CPAN-deps-ships-better&#8221; freak when it&#8217;s about Dancer!) it provides a stable and well-known way of dealing with the HTTP interface (params, methods, path &#8230; <a href="http://www.sukria.net/fr/archives/2010/01/16/getting-rid-of-cgi-pm-in-dancers-code/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Yes, I finally took the decision to stop using CGI.pm in <a href="http://github.com/sukria/Dancer">Dancer</a>&#8216;s code. It was not an easy decision to take, mainly because of the following reasons:</p>
<ul>
<li>it&#8217;s in the core (I&#8217;m a &#8220;less-CPAN-deps-ships-better&#8221; freak when it&#8217;s about Dancer!)
</li>
<li>it provides a stable and well-known way of dealing with the HTTP interface (params, methods, path infos &#8230;)
</li>
<li>and well, to add a third reason, why should I want to change it if it works?
</li>
</ul>
<p>Well, actually, we did find a bug recently in CGI::PSGI that prevented a Dancer app from being deployed under Plack::Server::Apache2. Oh, of course, the bug was almost instantly fixed when it has been discovered (the #plack people are really reactive). </p>
<p>But that enlightened something: CGI.pm is old, really old, and that means, when you&#8217;re using it, you take with you a lots of lines of code coming from years ago. Moreover it is well known that CGI.pm does addresses different matters, such as providing a request interface and generating HTML content as well. Conceptually, it sucks.</p>
<p>After thinking about all that, I decided to drop CGI.pm out of Dancer&#8217;s code. I then have the option to use the pretty fresh <a href="http://search.cpan.org/dist/Plack-Request/">Plack::Request</a> interface. It looks really nice and does exactly what you can expect from it.</p>
<p>But, it&#8217;s important for me that Dancer can be used without Plack. I want the dependency barrier to be as low as possible:<br />
If a user wants to test Dancer, he should not have to install Plack in my opinion. If he likes it, and wants to goes on production, then yes, Plack is a must-go. He then installs Plack and goes on with Dancer&#8217;s app.psgi.</p>
<p>So depending on Plack::Request was one more dependency I&#8217;d rather not add to Dancer.</p>
<p>With all this in mind I came to the decision to write Dancer::Request, reading carefully the <a href="http://search.cpan.org/dist/PSGI/">PSGI specs</a> (miyagawa++ again).</p>
<p>It was all good except for processing the POST data. There&#8217;s so much work to do when it&#8217;s about multipart form, url-encoded form, or even file uploads that I chose not to push the &#8220;reinvent-the-wheel&#8221; thing too far, and I decided to copycat Plack::Request on this topic: using HTTP::Body.</p>
<p>This module does the job pretty well, with an object-oriented interface.</p>
<p>The conclusion might look like a failure (I rewrote something that worked by adding a new dependecy.) But deep inside I&#8217;m happy with this refactoring; because Dancer is now on a way where all of its code will be fresh, based on PSGI specs and won&#8217;t ever rely on CGI.pm to do something.</p>
<p>I hope Dancer&#8217;s users/developers will agree with that. feel free to comment on this post if you want to share your point of views. Yes, I know this might trigger a troll or two&#8230; ;)</p>
<div id='teoShare' ><div id='teo2Google'>
		<!-- Place this tag where you want the +1 button to render -->
		<g:plusone size='tall' annotation='none'></g:plusone>

		<!-- Place this render call where appropriate -->
		<script type='text/javascript'>
		  (function() {
			var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
			po.src = 'https://apis.google.com/js/plusone.js';
			var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
		  })();
		</script>
		</div><div id="teoTweet" >
		<a href="http://twitter.com/share" class="twitter-share-button" data-count="none" data-via="sukria">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script> </div></div><div style="height:0px; width:0px; overflow:hidden;"><a href="http://www.zeitblog.com/?in=plugin">blog tools and plugins from www.zeitblog.com</a></div><p>Related posts:<ol>
<li><a href='http://www.sukria.net/fr/archives/2010/02/02/dive-into-dancers-code-core-and-extensions/' rel='bookmark' title='Dive into Dancer&#8217;s code: core and extensions'>Dive into Dancer&#8217;s code: core and extensions</a> <small>The discussion that is rising these days about frameworks and...</small></li>
<li><a href='http://www.sukria.net/fr/archives/2010/01/11/using-plack-to-run-a-dancer-app-under-a-cgi-environment/' rel='bookmark' title='Using Plack to run a Dancer app under a CGI environment'>Using Plack to run a Dancer app under a CGI environment</a> <small>Sawyer X on blogs.perl.org recently wondered how one could run...</small></li>
<li><a href='http://www.sukria.net/fr/archives/2009/09/19/perl-dancer-0-9904-released/' rel='bookmark' title='Perl Dancer 0.9904 released'>Perl Dancer 0.9904 released</a> <small>I&#8217;ve just published a new version of Dancer. It&#8217;s basically...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.sukria.net/fr/archives/2010/01/16/getting-rid-of-cgi-pm-in-dancers-code/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Using Plack to run a Dancer app under a CGI environment</title>
		<link>http://www.sukria.net/fr/archives/2010/01/11/using-plack-to-run-a-dancer-app-under-a-cgi-environment/</link>
		<comments>http://www.sukria.net/fr/archives/2010/01/11/using-plack-to-run-a-dancer-app-under-a-cgi-environment/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 17:43:04 +0000</pubDate>
		<dc:creator>sukria</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[CGI]]></category>
		<category><![CDATA[Dancer]]></category>
		<category><![CDATA[Plack]]></category>

		<guid isPermaLink="false">http://www.sukria.net/fr/?p=1373</guid>
		<description><![CDATA[Sawyer X on blogs.perl.org recently wondered how one could run a Dancer application under a 100% CGI environment. Indeed, he came up quickly with a REST app in development stage and wanted to go on air with a plain old CGI script. He seems to think it&#8217;s not possible with Dancer but as Dancer supports &#8230; <a href="http://www.sukria.net/fr/archives/2010/01/11/using-plack-to-run-a-dancer-app-under-a-cgi-environment/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Sawyer X on blogs.perl.org recently <a href="http://blogs.perl.org/users/sawyer_x/2010/01/i-gotz-me-a-dancer.html">wondered</a> how one could run a Dancer application under a 100% CGI environment. </p>
<p>Indeed, he came up quickly with a REST app in development stage and wanted to go on air with a plain old CGI script. He seems to think it&#8217;s not possible with Dancer but as Dancer supports PSGI/Plack, he&#8217;s wrong ;)</p>
<p>Thanks to the PSGI/Plack goodness, any application can be powered by a Plack-supported server. CGI is one of them and is implemented by <a href="http://search.cpan.org/~miyagawa/Plack-0.9030/lib/Plack/Server/CGI.pm">Plack::Server::CGI</a>. </p>
<p>By taking a quick look at the POD, we see that all we have to do is to write a pretty simple CGI script to bridge the Dancer app with Apache:</p>
<pre class="prettyprint">
#!/usr/bin/perl

use Plack::Server::CGI;
use Plack::Util;

my $psgi = '/path/to/your/app/app.psgi';
my $app = Plack::Util::load_psgi($psgi);
Plack::Server::CGI->new->run($app);
</pre>
<p>We now have to tell Apache that everything should be dispatched to that very CGI script like the following:</p>
<pre class="prettyprint">
&lt;VirtualHost ....&gt;
	&lt;Directory "/path/to/your/app"&gt;
		AllowOverride None
		Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
		Order allow,deny
		Allow from all
		AddHandler cgi-script .cgi
	&lt;/Directory&gt;

	RewriteCond %{REQUEST_FILENAME} !-f
	RewriteRule ^(.*)$ /dancer.cgi [QSA,L]

        [...]
&lt;/VirtualHost&gt;
</pre>
<p>And&#8230; we&#8217;re done! Every request the Apache server catches is now served by Dancer through Plack::Server::CGI</p>
<p>All I have to say here is &#8230; <a href="http://plackperl.org">Plack</a>++ (or <a href="http://twitter.com/miyagawa">@miyagawa</a>++ which seems to be the same ;-)</p>
<div id='teoShare' ><div id='teo2Google'>
		<!-- Place this tag where you want the +1 button to render -->
		<g:plusone size='tall' annotation='none'></g:plusone>

		<!-- Place this render call where appropriate -->
		<script type='text/javascript'>
		  (function() {
			var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
			po.src = 'https://apis.google.com/js/plusone.js';
			var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
		  })();
		</script>
		</div><div id="teoTweet" >
		<a href="http://twitter.com/share" class="twitter-share-button" data-count="none" data-via="sukria">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script> </div></div><div style="height:0px; width:0px; overflow:hidden;"><a href="http://www.zeitblog.com/?in=plugin">blog tools and plugins from www.zeitblog.com</a></div><p>Related posts:<ol>
<li><a href='http://www.sukria.net/fr/archives/2009/09/20/mounting-a-dancer-app-into-apache-psgiplack/' rel='bookmark' title='Mounting a Dancer app into Apache + PSGI/Plack'>Mounting a Dancer app into Apache + PSGI/Plack</a> <small>EDIT : This is going to change as soon as...</small></li>
<li><a href='http://www.sukria.net/fr/archives/2009/09/19/perl-dancer-0-9904-released/' rel='bookmark' title='Perl Dancer 0.9904 released'>Perl Dancer 0.9904 released</a> <small>I&#8217;ve just published a new version of Dancer. It&#8217;s basically...</small></li>
<li><a href='http://www.sukria.net/fr/archives/2010/07/03/perl-dancer-meeting-1-report/' rel='bookmark' title='Perl Dancer meeting #1 report'>Perl Dancer meeting #1 report</a> <small>Here is my quick report of the first Dancer meeting...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.sukria.net/fr/archives/2010/01/11/using-plack-to-run-a-dancer-app-under-a-cgi-environment/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Mounting a Dancer app into Apache + PSGI/Plack</title>
		<link>http://www.sukria.net/fr/archives/2009/09/20/mounting-a-dancer-app-into-apache-psgiplack/</link>
		<comments>http://www.sukria.net/fr/archives/2009/09/20/mounting-a-dancer-app-into-apache-psgiplack/#comments</comments>
		<pubDate>Sun, 20 Sep 2009 20:25:03 +0000</pubDate>
		<dc:creator>sukria</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Dancer]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Plack]]></category>
		<category><![CDATA[PSGI]]></category>

		<guid isPermaLink="false">http://www.sukria.net/fr/?p=1250</guid>
		<description><![CDATA[EDIT : This is going to change as soon as CGI::PSGI is available, the &#8220;patched CGI&#8221; way won&#8217;t be needed anymore, see miyagawa&#8217;s post for details Now that Dancer 0.9904 is released, I&#8217;ve took the time to upgrade my Dancer configuration for the official website from a proxy_balancer configuration to an Apache2 + PSGI/Plack architecture. &#8230; <a href="http://www.sukria.net/fr/archives/2009/09/20/mounting-a-dancer-app-into-apache-psgiplack/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><b>EDIT : This is going to change as soon as CGI::PSGI is available, the &#8220;patched CGI&#8221; way won&#8217;t be needed anymore, see <a href="http://bulknews.typepad.com/blog/2009/09/new-cgipsgi-start_response-out.html">miyagawa&#8217;s post</a> for details</b></p>
<p>Now that <a href="http://dancer.sukria.net/downloads/Dancer-0.9904.tar.gz">Dancer 0.9904</a> is released, I&#8217;ve took the time to upgrade my Dancer configuration for <a href="http://dancer.sukria.net">the official website</a> from a proxy_balancer configuration to an Apache2 + PSGI/Plack architecture.</p>
<p>Here is how to proceed if you like to power your Dancer app up with Apache and PSGI/Plack.</p>
<p>First of all, you need Plack, at the time of this writing, it&#8217;s not  yet in CPAN, so you should go to <a href="http://github.com/miyagawa/Plack">miyagawa&#8217;s place</a>. Grab also his <a href="http://github.com/miyagawa/CGI.pm">patched version of CGI.pm</a>. Install both of them and you&#8217;re ready to continue.</p>
<p>Next step is to make sure your app is ready for a Plack run, the best thing to do is to run <a href="http://github.com/sukria/Dancer/blob/master/script/dancer">the helper</a> that comes with 0.9904, it will write all the files needed in your application directory if they&#8217;re not already present.</p>
<p>Here&#8217;s all the files you should have:</p>
<pre>
$ dancer -a mywebapp
+ mywebapp
+ mywebapp/views
+ mywebapp/views/index.tt
+ mywebapp/views/layouts
+ mywebapp/views/layouts/main.tt
+ mywebapp/environments
+ mywebapp/environments/development.yml
+ mywebapp/environments/production.yml
+ mywebapp/config.yml
+ mywebapp/mywebapp.pm
+ mywebapp/mywebapp.pl
+ mywebapp/app.psgi
+ mywebapp/public
+ mywebapp/public/css
+ mywebapp/public/css/style.css
+ mywebapp/public/css/error.css
+ mywebapp/public/images
+ mywebapp/public/404.html
+ mywebapp/public/500.html
</pre>
<p>Note that your route handlers should be defined in mywebapp.pm, and not directly in the standalone server mywebapp.pl.</p>
<p>You should also have an app.psgi file in your application directory.</p>
<p>Make sure everything is allright by running the standalone webserver:</p>
<pre>
$ ./mywebapp.pl
>> Listening on 127.0.0.1:3000
== Entering the development dance floor ...
</pre>
<p>Ok, now run it with Plack&#8217;s standalone server, to make sure the PSGI file is ok:</p>
<pre>
$ /path/to/Plack/scripts/plackup &#038;
$ curl -I http://localhost:8080/
HTTP/1.0 200 OK
Content-Length: 0
Content-Type: text/html
</pre>
<p>Great, you&#8217;re ready to go. The last step is to mount the application in your Apache configuration, for instance with a VirtualHost:</p>
<pre class="prettyprint">
&lt;VirtualHost webapp.domain.com&gt;
    ServerName webapp.domain.com
    DocumentRoot /srv/webapp.domain.com/public

    &lt;Location /&gt;
        SetHandler perl-script
        PerlHandler Plack::Impl::Apache2
        PerlSetVar psgi_app /srv/webapp.domain.com/app.psgi
    &lt;/Location&gt;
&lt;/VirtualHost&gt;
</pre>
<p>Restart Apache and enjoy your dances.  </p>
<div id='teoShare' ><div id='teo2Google'>
		<!-- Place this tag where you want the +1 button to render -->
		<g:plusone size='tall' annotation='none'></g:plusone>

		<!-- Place this render call where appropriate -->
		<script type='text/javascript'>
		  (function() {
			var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
			po.src = 'https://apis.google.com/js/plusone.js';
			var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
		  })();
		</script>
		</div><div id="teoTweet" >
		<a href="http://twitter.com/share" class="twitter-share-button" data-count="none" data-via="sukria">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script> </div></div><div style="height:0px; width:0px; overflow:hidden;"><a href="http://www.zeitblog.com/?in=plugin">blog tools and plugins from www.zeitblog.com</a></div><p>Related posts:<ol>
<li><a href='http://www.sukria.net/fr/archives/2010/01/11/using-plack-to-run-a-dancer-app-under-a-cgi-environment/' rel='bookmark' title='Using Plack to run a Dancer app under a CGI environment'>Using Plack to run a Dancer app under a CGI environment</a> <small>Sawyer X on blogs.perl.org recently wondered how one could run...</small></li>
<li><a href='http://www.sukria.net/fr/archives/2010/01/22/psgiplack-the-ultimate-perl-web-server/' rel='bookmark' title='PSGI/Plack the ultimate Perl Web Server'>PSGI/Plack the ultimate Perl Web Server</a> <small>Google has to realize like we all do, that Plack...</small></li>
<li><a href='http://www.sukria.net/fr/archives/2009/09/19/perl-dancer-0-9904-released/' rel='bookmark' title='Perl Dancer 0.9904 released'>Perl Dancer 0.9904 released</a> <small>I&#8217;ve just published a new version of Dancer. It&#8217;s basically...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.sukria.net/fr/archives/2009/09/20/mounting-a-dancer-app-into-apache-psgiplack/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Perl Dancer 0.9904 released</title>
		<link>http://www.sukria.net/fr/archives/2009/09/19/perl-dancer-0-9904-released/</link>
		<comments>http://www.sukria.net/fr/archives/2009/09/19/perl-dancer-0-9904-released/#comments</comments>
		<pubDate>Sat, 19 Sep 2009 15:42:31 +0000</pubDate>
		<dc:creator>sukria</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Dancer]]></category>
		<category><![CDATA[OSDCfr]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Plack]]></category>

		<guid isPermaLink="false">http://www.sukria.net/fr/?p=1246</guid>
		<description><![CDATA[I&#8217;ve just published a new version of Dancer. It&#8217;s basically a PSGI/Plack support release but also provides a new piece of sugar: the bootstraping helper. One can now create a new application from scractch with a single command, as explained on the website. A big thank to Tatsuhiko Miyagawa who helped me when I was &#8230; <a href="http://www.sukria.net/fr/archives/2009/09/19/perl-dancer-0-9904-released/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just published a new version of <a href="http://dancer.sukria.net">Dancer</a>. It&#8217;s basically a <a href="http://bulknews.typepad.com/blog/2009/09/psgi-perl-wsgi.html">PSGI/Plack</a> support release but also provides a new piece of sugar: the <a href="http://github.com/sukria/Dancer/blob/master/script/dancer">bootstraping helper</a>.</p>
<p>One can now create a new application from scractch with a single command, as explained on <a href="http://dancer.sukria.net/quickstart">the website</a>.</p>
<p>A big thank to <a href="http://github.com/miyagawa/">Tatsuhiko Miyagawa</a> who helped me when I was working on the PSGI/Plack support and to <a href="http://github.com/sdeseille/">Sebastien Deseille</a> who worked on the helper script.</p>
<p>Next step is to write some documentation about the Apache/PSGI integration and prepare the slides for the upcoming <a href="http://act.osdc.fr/osdc2009fr/">OSDCfr</a> event where I&#8217;ll be <a href="http://act.osdc.fr/osdc2009fr/talk/2363">talking about Dancer</a>.</p>
<div id='teoShare' ><div id='teo2Google'>
		<!-- Place this tag where you want the +1 button to render -->
		<g:plusone size='tall' annotation='none'></g:plusone>

		<!-- Place this render call where appropriate -->
		<script type='text/javascript'>
		  (function() {
			var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
			po.src = 'https://apis.google.com/js/plusone.js';
			var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
		  })();
		</script>
		</div><div id="teoTweet" >
		<a href="http://twitter.com/share" class="twitter-share-button" data-count="none" data-via="sukria">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script> </div></div><div style="height:0px; width:0px; overflow:hidden;"><a href="http://www.zeitblog.com/?in=plugin">blog tools and plugins from www.zeitblog.com</a></div><p>Related posts:<ol>
<li><a href='http://www.sukria.net/fr/archives/2010/01/11/using-plack-to-run-a-dancer-app-under-a-cgi-environment/' rel='bookmark' title='Using Plack to run a Dancer app under a CGI environment'>Using Plack to run a Dancer app under a CGI environment</a> <small>Sawyer X on blogs.perl.org recently wondered how one could run...</small></li>
<li><a href='http://www.sukria.net/fr/archives/2010/07/03/perl-dancer-meeting-1-report/' rel='bookmark' title='Perl Dancer meeting #1 report'>Perl Dancer meeting #1 report</a> <small>Here is my quick report of the first Dancer meeting...</small></li>
<li><a href='http://www.sukria.net/fr/archives/2009/09/20/mounting-a-dancer-app-into-apache-psgiplack/' rel='bookmark' title='Mounting a Dancer app into Apache + PSGI/Plack'>Mounting a Dancer app into Apache + PSGI/Plack</a> <small>EDIT : This is going to change as soon as...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.sukria.net/fr/archives/2009/09/19/perl-dancer-0-9904-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

