diff --git a/app/controller/perso.php b/app/controller/perso.php
index a86dacc4840db5cc759e64bb754e7dc8c149a762..3673e7c29ffaee57e82fa111593e9d073b1c5663 100644
--- a/app/controller/perso.php
+++ b/app/controller/perso.php
@@ -93,7 +93,7 @@ class Perso extends Controller
     {
         // Chargement des dons de l'utilisateur
         $db = $f3->get('DB');
-        $result = $db->query("SELECT datec, somme, id, pdf, status FROM dons WHERE user_id='".$f3->get('infos.id')."' AND status IN (1,4,102) ORDER BY datec ASC");
+        $result = $db->query("SELECT datec, somme, id, pdf, status FROM dons WHERE user_id='".$f3->get('infos.id')."' AND status IN (1,4,102) ORDER BY datec DESC");
         $data = array();
         foreach ($result->fetchAll(\PDO::FETCH_ASSOC) as $row) {
             $data[] = $row;
@@ -116,6 +116,7 @@ class Perso extends Controller
     public function login($f3, $args)
     {
         $f3->clear('SESSION.error');
+        $f3->clear('SESSION.message');
         $f3->set('form_visible', 'login');
 
         if ($f3->get('action')=='renew_password') {
@@ -268,7 +269,7 @@ class Perso extends Controller
         if ($f3->exists('SESSION.id')) {
             // Let's firts check that both the password match
             if ($f3->get('password') != $f3->get('password_confirmation')) {
-                $f3->set('SESSION.error', 'Passwords mismatch');
+                $f3->set('SESSION.error', _("Les mots de passe ne correspondent pas"));
             } else {
                 $sql = "UPDATE users SET email='".\Utils::asl($f3->get('email'))."',
                     pseudo='".\Utils::asl($f3->get('pseudo'))."'";
@@ -311,6 +312,7 @@ class Perso extends Controller
                 $f3->set("error", _("Cette adresse existe déjà."));
                 $f3->error('403');
             }
+            $f3->set('SESSION.message', _("Adresse ajoutée à votre profil"));
             break;
         case 'DELETE':
             try {
@@ -324,6 +326,7 @@ class Perso extends Controller
                 $f3->set("error", _("Cette adresse est utilisée pour une de vos contreparties"));
                 $f3->error('403');
             };
+            $f3->set('SESSION.message', _("Adresse supprimée de votre profil"));
             break;
         }
         $f3->reroute('/perso');
@@ -382,7 +385,7 @@ class Perso extends Controller
         }
         // Puis diminution du cumul de la valeur des contreparties
         $db->query("UPDATE users SET cumul = cumul - ".$valeur." WHERE id='".$f3->get('SESSION.id')."'");
-        $f3->set('msg', _("Merci, vos contreparties seront envoyées dès que possible !"));
+        $f3->set('SESSION.message', _("Merci, vos contreparties seront envoyées dès que possible !"));
         $f3->reroute('/perso');
     }
 
@@ -532,6 +535,7 @@ class Perso extends Controller
             user_id = '".$user_id."',
             identifier = '".$identifier."',
             cumul = 0;");
+        $f3->set('SESSION.message', _("Don récurrent supprimé."));
         $f3->reroute('/perso');
     }
 
diff --git a/app/view/campaign/donation.html b/app/view/campaign/donation.html
index f69fb7948ce088d4e4923d9a6b0d9ce2d083443c..2c53d8543e0fb632dea6c4f84539f4845e37ae29 100644
--- a/app/view/campaign/donation.html
+++ b/app/view/campaign/donation.html
@@ -19,9 +19,6 @@
     </form>
 
 <p>Erreur: </p>
-	<repeat group="{{ @SESSION.errors }}" value="{{ @error }}">
-	<p>{{@error}}</p>
-	</repeat>
     <section id="gift_holder">
         <!-- Différents affichages possibles -->
         <div id="no_cado" class="cadeaux" style="display:none">
diff --git a/app/view/toolbar.html b/app/view/toolbar.html
index ec3fe9bf9b632f2aecf2e6e4e94b635be20df091..ef2eb590435e7fee61c5b23eb029528dbe0a0e92 100644
--- a/app/view/toolbar.html
+++ b/app/view/toolbar.html
@@ -1,13 +1,19 @@
 <div class="modal-form <check if="{{ @@form_visible == 'login' }}">visible</check>" id="login">
 	<div class="modal-form-title modal-form-only">
 		<a class="close modal-form-only" href="/#"><span>{{ _("Fermer") }}</span></a>
-		<h1>{{_("Se connecter")}}</h1>
+		<h1>{{_("Connexion")}}</h1>
 	</div>
 	<form method="POST" class="form-inline" action="{{ 'login' | alias }}">
 		<div class="modal-form-body">
 			<input type="hidden" name="csrf" id="csrf" value="{{ @CSRF }}" />
 			<fieldset class="form-group modal-form-only">
 			    <h3>{{ _("Le site de dons a changé. À présent, utilisez votre adresse e-mail comme identifiant.") }} </h3>
+                <check if="{{ @@SESSION.message }}">
+                <p class="modal-row alert alert-info">{{ @SESSION.message }}</p>
+                </check>
+                <check if="{{ @@SESSION.error }}">
+                <p class="modal-row alert alert-danger">{{ @SESSION.error }}</p>
+                </check>
 				<div class="modal-row form-group">
 					<label for="email">{{ _("Adresse mail") }}</label>
 					<input class="form-control" type="email" name="email" id="email" required>
@@ -91,10 +97,10 @@
 		</ul>
 		<ul class="nav navbar-nav navbar-right">
 			<check if="{{ array_key_exists('user', @SESSION) }}">
-			<true><li><a href="{{ 'logout' | alias }}">{{ _("Se déconnecter") }}</a></li>
-			<li><a href="{{ 'perso' | alias }}">{{ _("Réclamer les contreparties") }}</a></li></true>
+			<true><li><a href="{{ 'logout' | alias }}">{{ _("Déconnexion") }}</a></li>
+			<li><a href="{{ 'perso' | alias }}">{{ _("Contreparties") }}</a></li></true>
 			<false><li><a href="#add-account">{{ _("Créer un compte")}}</a></li>
-			<li><a href="#login">{{ _("Se connecter")}}</a></li></false>
+			<li><a href="#login">{{ _("Connexion")}}</a></li></false>
 			</check>
 		</ul>
 		<ul class="nav navbar-nav navbar-right">
@@ -125,7 +131,7 @@
 			<ul class="nav navbar-nav">
 				<check if="{{ array_key_exists('user', @SESSION) }}">
 				<true><li class="pull-right collapsible-menu"><a href="#perso-menu">{{ _("Perso") }}</a></li></true>
-				<false><li class="pull-right"><a href="#login">{{ _("Se connecter")}}</a></li></false>
+				<false><li class="pull-right"><a href="#login">{{ _("Connexion")}}</a></li></false>
 				</check>
 				<li class="pull-right collapsible-menu"><a href="#action-menu">{{ _("Menu") }}</a>
 				</li>
@@ -149,3 +155,12 @@
 		</div>
 	</nav>
 </div>
+<section id="messages">
+    <check if="{{ @@SESSION.message }}">
+    <p class="alert alert-info">{{ @SESSION.message }}</p>
+    </check>
+    <check if="{{ @@SESSION.error }}">
+    <p class="alert alert-danger">{{ @SESSION.error }}</p>
+    </check>
+</section>
+
diff --git a/app/view/user/infos.html b/app/view/user/infos.html
index 4dab9c22c11aa3cf746a8ff55c46cf7f422acf13..e8e463209632ab98b5f69ede4c3471aad78b0018 100644
--- a/app/view/user/infos.html
+++ b/app/view/user/infos.html
@@ -149,9 +149,6 @@
 	    </select></p>
         <input type="submit" class="big_button" value="Valider" <check if="{{ @adresse }}"><false>disabled</false>/</check>/>
         </div>
-        <check if="{{ @error!='' }}">
-            <p class="error">{{ @error }}</p>
-        </check>
     </form>
     </check>
 </section>
diff --git a/app/view/user/login.html b/app/view/user/login.html
index 47088bc14d76de6a964e80eae3346e970831d1ba..0a3e46fd865f1a666b7a306a5d22471848a78d89 100644
--- a/app/view/user/login.html
+++ b/app/view/user/login.html
@@ -32,12 +32,6 @@
         <p><input type="button" onclick="document.forms['f1']['create_user'].value=1;document.forms['f1'].submit()" class="btn_password" value="{{ _('Créer un compte') }}" /></p>
         </form>
 
-        <check if="{{ @error!='' }}">
-            <p class="error">{{ @error }}</p>
-        </check>
-        <check if="{{ @information!='' }}">
-            <p class="information">{{ @information }}</p>
-        </check>
     </false>
     </check>
 </section>
diff --git a/app/view/user/perso.html b/app/view/user/perso.html
index c5d4e1e6aeda1868c892346372c98c83e2d1a7cf..2941a27beaf458c36072ad0a4fd20c157436b6c2 100644
--- a/app/view/user/perso.html
+++ b/app/view/user/perso.html
@@ -139,14 +139,21 @@
                                     <th>{{ _("Date") }}</th>
                                     <th>{{ _("Dons") }}</th>
                                     <th>{{ _("Récurent") }}</th>
-                                    <th>{{ _("Contreparties") }}</th>
+                                    <th>{{ _("Piplome") }}</th>
                                 </tr>
                                 <repeat group="{{ @dons_recurrents }}" value="{{ @don }}">
                                 <tr>
                                     <td>{{ @don.datec }}</td>
                                     <td>{{ @don.somme }}</td>
                                     <td>{{ _("Oui")}}</td>
-                                    <td></td>
+                                    <td>
+                                        <check if="{{ @don.pdf == '' }}">
+                                            <a href="/cron/piplome/{{ @don.id }}">{{ _("Générer") }}</a>
+                                            <false>
+                                                <a href="{{ PIPLOME_URL }}/{{ @don.pdf }}.pdf" target="_blank">{{ @pdfs[@don.pdf].decimale }}.pdf</a>
+                                            </false>
+                                        </check>
+                                    </td>
                                 </tr>
                                 </repeat>
                                 <repeat group="{{ @dons }}" value="{{ @don }}">
@@ -154,14 +161,26 @@
                                     <td>{{ @don.datec }}</td>
                                     <td>{{ @don.somme }}</td>
                                     <td>{{ _("Non")}}</td>
-                                    <td></td>
+                                    <td>
+                                        <check if="{{ @don.pdf == '' }}">
+                                            <a href="/cron/piplome/{{ @don.id }}">{{ _("Générer") }}</a>
+                                            <false>
+                                                <a href="{{ PIPLOME_URL }}/{{ @don.pdf }}.pdf" target="_blank">{{ @pdfs[@don.pdf].decimale }}.pdf</a>
+                                            </false>
+                                        </check>
+
+                                    </td>
                                 </tr>
                                 </repeat>
+                            </table>
+                            <table class="table text-left">
+                                <tr>
+                                    <th>{{ _("Date") }}</th>
+                                    <th>{{ _("Contreparties") }}</th>
+                                </tr>
                                 <repeat group="{{ @contreparties }}" value="{{ @contrepartie }}">
                                 <tr>
                                     <td>{{ @contrepartie.datec }}</td>
-                                    <td></td>
-                                    <td></td>
                                     <td>{{ @contrepartie.quoi }}</td>
                                 </tr>
                                 </repeat>
diff --git a/db/seeds/CounterpartSeeder.php b/db/seeds/CounterpartSeeder.php
index b47cdf580ef8e3f9cc9891b9bf0aeb78ee878025..9dced14093cd7d878a8de7446290130d2e0ac932 100644
--- a/db/seeds/CounterpartSeeder.php
+++ b/db/seeds/CounterpartSeeder.php
@@ -30,7 +30,7 @@ class CounterpartSeeder extends AbstractSeed
                 'user_id' => 2,
                 'quoi' => 'piplome', // [piplome|pibag|pishirt|hoodie]
                 'taille' => 2,
-                'status' => 1,
+                'status' => 2,
                 'adresse_id' => null,
             ),
         );
diff --git a/src/LQDN/Handler/AddressHandler.php b/src/LQDN/Handler/AddressHandler.php
index c4dda1d2f2c3787e94fc075b51507a4d8f7b65fc..efb393db8775c64faed0bcd9792a0b88d1267520 100644
--- a/src/LQDN/Handler/AddressHandler.php
+++ b/src/LQDN/Handler/AddressHandler.php
@@ -92,7 +92,7 @@ EOF;
     private function addressUsed($addressId)
     {
         $count = (int) $this->connection->fetchColumn(
-            "SELECT count(1) FROM contreparties, dons WHERE contreparties.adresse_id = :id OR dons.adresse_id = :id",
+            "SELECT count(1) FROM contreparties, dons WHERE contreparties.adresse_id = :id AND contreparties.status = 1;",
             [
                 'id' => $addressId,
             ],
diff --git a/tests/functional/Finder/CounterpartFinderTest.php b/tests/functional/Finder/CounterpartFinderTest.php
index ac46f81b2f18f431c00dd1fd71265594a5e4733f..8f2a15cb6303ef300fe417530857973457258fdf 100644
--- a/tests/functional/Finder/CounterpartFinderTest.php
+++ b/tests/functional/Finder/CounterpartFinderTest.php
@@ -20,7 +20,7 @@ class CounterpartFinderTest extends FunctionalTest
             'datec' => '2016-06-22 12:34:00',
             'quoi' => 'piplome',
             'taille' => '2',
-            'status' => '1',
+            'status' => '2',
             'adresse_id' => null,
             'pdf_id' => '1',
             'pdf_nom' => 'Main',
diff --git a/tests/functional/Handler/AddressHandlerTest.php b/tests/functional/Handler/AddressHandlerTest.php
index 84393be61599089009cc3ea26498e552f042a777..81558168925e6fdf564d75d46eff1847d3c4bf72 100644
--- a/tests/functional/Handler/AddressHandlerTest.php
+++ b/tests/functional/Handler/AddressHandlerTest.php
@@ -16,6 +16,10 @@ class AddressHandlerTest extends FunctionalTest
 
         $this->setExpectedException('LQDN\Exception\AddressUsedException');
         $this->container['command_handler']->handle(new AddressDeleteCommand(1, 1));
+
+        $this->container['command_handler']->handle(new AddressDeleteCommand(2, 1));
+
+        $this->assertFalse($this->addressExists(2));
     }
 
     public function testAdressDelete()