Index: /trunk/lib/Vote/Controller/Admin.pm
===================================================================
--- /trunk/lib/Vote/Controller/Admin.pm	(revision 16)
+++ /trunk/lib/Vote/Controller/Admin.pm	(revision 16)
@@ -0,0 +1,51 @@
+package Vote::Controller::Admin;
+
+use strict;
+use warnings;
+use base 'Catalyst::Controller';
+
+=head1 NAME
+
+Vote::Controller::Admin - Catalyst Controller
+
+=head1 DESCRIPTION
+
+Catalyst Controller.
+
+=head1 METHODS
+
+=cut
+
+
+=head2 index 
+
+=cut
+
+sub index : Private {
+    my ( $self, $c ) = @_;
+
+}
+
+sub default : Private {
+    my ( $self, $c, undef, $id ) = @_;
+    $c->stash->{voteid} = $id;
+
+    # can't modify vote after date
+    if ($c->model('Vote')->vote_status($id) ne 'BEFORE') {
+        $c->stash->{template} = 'admin/denied.tt';
+        return;
+    }
+}
+
+=head1 AUTHOR
+
+Thauvin Olivier
+
+=head1 LICENSE
+
+This library is free software, you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
+
+1;
Index: /trunk/lib/Vote/Controller/Ballot.pm
===================================================================
--- /trunk/lib/Vote/Controller/Ballot.pm	(revision 15)
+++ /trunk/lib/Vote/Controller/Ballot.pm	(revision 16)
@@ -24,6 +24,4 @@
 sub index : Private {
     my ( $self, $c ) = @_;
-
-    $c->response->body('Matched Vote::Controller::Ballot in Vote.');
 }
 
Index: /trunk/root/templates/admin/default.tt
===================================================================
--- /trunk/root/templates/admin/default.tt	(revision 16)
+++ /trunk/root/templates/admin/default.tt	(revision 16)
@@ -0,0 +1,25 @@
+[% vote = c.model('Vote') %]
+
+<form action="[% c.uri_for(voteid) %]">
+
+[% thisvote = vote.vote_info(voteid) %]
+
+Label: <input type="text" name="label" value="[% c.req.param('label') || thisvote.label | html %]">
+<br>
+Description: <textarea name="description">[% c.req.param('description') || thisvote.description | html %]</textarea>
+<br>
+Debut du vote:
+<input type="text" name="start" value="[% c.req.param('start') || thisvote.start | html %]">
+Fin du vote:
+<input type="text" name="end" value="[% c.req.param('end') || thisvote.end | html %]">
+<br>
+Nombre de choix possible:
+<input type="text" name="choice_count" value="[% c.req.param('choice_count') || thisvote.choice_count | html %]">
+<br>
+Nombre de choix libres:
+<input type="text" name="free_choice" value="[% c.req.param('free_choice') || thisvote.free_choice | html %]">
+<br>
+
+
+<input type="submit">
+</form>
Index: /trunk/root/templates/admin/index.tt
===================================================================
--- /trunk/root/templates/admin/index.tt	(revision 16)
+++ /trunk/root/templates/admin/index.tt	(revision 16)
@@ -0,0 +1,6 @@
+[% vote = c.model('Vote') %]
+
+[% FOREACH voteid = vote.list_comming_vote %]
+<a href="[% c.uri_for('/admin', voteid) %]">[% vote.vote_info(voteid).label | html %]</a>
+<br>
+[% END %]
Index: /trunk/root/templates/ballot/index.tt
===================================================================
--- /trunk/root/templates/ballot/index.tt	(revision 16)
+++ /trunk/root/templates/ballot/index.tt	(revision 16)
@@ -0,0 +1,14 @@
+[% vote = c.model('Vote') %]
+
+[% voteids = vote.list_running_vote %]
+
+[% IF voteids.size %]
+
+[% FOREACH voteid = voteids %]
+<a href="[% c.uri_for('/ballot', voteid) %]">[% vote.vote_info(voteid).label | html %]</a>
+<br>
+[% END %]
+
+[% ELSE %]
+Pas de vote en cours
+[% END %]
Index: /trunk/root/templates/ballot/signed.tt
===================================================================
--- /trunk/root/templates/ballot/signed.tt	(revision 16)
+++ /trunk/root/templates/ballot/signed.tt	(revision 16)
@@ -0,0 +1,1 @@
+[% uid | html %] has already vote at: [% signed_date | html %]<br>
Index: /trunk/t/controller_Admin.t
===================================================================
--- /trunk/t/controller_Admin.t	(revision 16)
+++ /trunk/t/controller_Admin.t	(revision 16)
@@ -0,0 +1,10 @@
+use strict;
+use warnings;
+use Test::More tests => 3;
+
+BEGIN { use_ok 'Catalyst::Test', 'Vote' }
+BEGIN { use_ok 'Vote::Controller::Admin' }
+
+ok( request('/admin')->is_success, 'Request should succeed' );
+
+
