diff --git a/doc/fr/development_tutorial.md b/doc/fr/development_tutorial.md
index fe829fe16bde688876aed947746fa041f69a8508..64fd53f812581f0819ae8266fe39b63c1f4309e1 100644
--- a/doc/fr/development_tutorial.md
+++ b/doc/fr/development_tutorial.md
@@ -357,22 +357,29 @@ __Note :__ La version d'AngularJS utilisée est une 1.x : la 2.x change complèt
 
 ### Sous Chrome
 
-Ouvrir l'application dans Chrome à l'adresse http://localhost:8100
+#### Ouvrir l'explorateur de sources
 
-Ouvrir la console de développeur : "Option > Plus d'outils > Outils de développement"
+Ouvrez l'application dans Chrome à l'adresse http://localhost:8100
 
-Dans l'explorateur de fichier javascript : 
- 
- * Chercher et visualisé le fichier "js/controllers/wot-controllers.js"
- * Chercher la méthode "certifyIdentity()"
- * Placer un point d'arrêt.
+Ouvrez les outils de développement :
+ * Menu `Option > Plus d'outils > Outils de développement`
+ * ou par le raccourcis clavier : `Ctrl + Maj + i`
+
+#### Débugger la certification d'un utilisateur
+
+Ouvrez l'explorateur de source, puis cherchez le fichier `dist/dist_js/app/controllers/wot-controllers.js`.
 
-Dans l'application web : 
+Recherchez la méthode `$scope.certify()`, et placez y un point d'arrêt.
 
- * Dans le menu de gauche, cliquer sur "Annuaire";
- * Recherche un utilisateur;
- * Cliquer sur l'utilisateur pour visualiser son identité
- * Cliquer sur le bouton "Certifier"
+Naviguez dans l'application Cesium de la manière suivante : 
+
+ * Cliuquez dans le menu (à gauche) `Annuaire`;
+ * Recherche un utilisateur, puis visualiser son identité;
+ * Dans `Certification reçues`, cliquez sur le bouton `Certifier`;
  * Vérifier que la console s'arrête sur le point d'arrêt.
 
-Pour découvrir le code, il est intéressant
\ No newline at end of file
+<img src="https://forum.duniter.org/uploads/default/original/2X/e/eca671a6d24b8e11566cfcca11b65e6c9c9c370c.png" width="690" height="223">
+
+Découvrez le code en déroulant l'action pas à pas.
+
+> Utiliser les touches de `F9` à `F11`, pour rentrer dans une méthode (F11), avancer pas à pas (F10) ou jusqu'au prochain point d'arrêt (F9), etc. 
diff --git a/www/js/services/wot-services.js b/www/js/services/wot-services.js
index 6cc428e5580f2a02f0326ac29e3f82df647ec5e7..90feb91d3e50e9d8c02a770854735a1793f00a16 100644
--- a/www/js/services/wot-services.js
+++ b/www/js/services/wot-services.js
@@ -189,9 +189,8 @@ angular.module('cesium.wot.services', ['ngResource', 'ngApi', 'cesium.bma.servic
                 identity.sigDate = block.time;
 
                 // Check if self has been done on a valid block
-                if (!identity.isMember && identity.number !== 0 && identity.hash !== block.hash) {
-                  addEvent(identity, {type: 'error', message: 'ERROR.IDENTITY_INVALID_BLOCK_HASH'});
-                  console.debug("[wot] Invalid membership for {0}: block hash changed".format(identity.uid));
+                if (identity.number !== 0 && identity.hash !== block.hash) {
+                  identity.hasBadSelfBlock = true;
                 }
 
                 return identity;
@@ -452,6 +451,13 @@ angular.module('cesium.wot.services', ['ngResource', 'ngApi', 'cesium.bma.servic
               })
           ])
           .then(function() {
+            if (data.hasBadSelfBlock) {
+              delete data.hasBadSelfBlock;
+              if (!data.isMember) {
+                addEvent(data, {type: 'error', message: 'ERROR.IDENTITY_INVALID_BLOCK_HASH'});
+                console.debug("[wot] Invalid membership for {0}: block hash changed".format(data.uid));
+              }
+            }
 
             return $q.all([
               // Get received certifications