diff --git a/src/main/java/com/slprojects/slcraftplugin/parallelTasks/dataHandlers/PlayedTimeHandler.java b/src/main/java/com/slprojects/slcraftplugin/parallelTasks/dataHandlers/PlayedTimeHandler.java
index 9f7cd6b2753bb32d09b2c48d847fd8923d9ec673..1d6d374b4e8d2940d55e2eb83c56b8cf1acd05c3 100644
--- a/src/main/java/com/slprojects/slcraftplugin/parallelTasks/dataHandlers/PlayedTimeHandler.java
+++ b/src/main/java/com/slprojects/slcraftplugin/parallelTasks/dataHandlers/PlayedTimeHandler.java
@@ -2,20 +2,21 @@ package com.slprojects.slcraftplugin.parallelTasks.dataHandlers;
 
 import com.slprojects.slcraftplugin.Main;
 import com.slprojects.slcraftplugin.parallelTasks.events.GeneralEvents;
+import com.slprojects.slcraftplugin.utils.ConsoleLog;
 import com.slprojects.slcraftplugin.utils.Database;
-import net.luckperms.api.model.data.DataMutateResult;
 import net.luckperms.api.model.group.Group;
 import net.luckperms.api.model.user.User;
 import net.luckperms.api.node.types.InheritanceNode;
-import net.md_5.bungee.api.ChatMessageType;
-import net.md_5.bungee.api.chat.TextComponent;
 import org.bukkit.ChatColor;
+import org.bukkit.Sound;
 import org.bukkit.entity.Player;
+import org.bukkit.scheduler.BukkitRunnable;
 
 import java.time.Duration;
 import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 import java.util.UUID;
 
 public class PlayedTimeHandler implements dataHandler {
@@ -32,7 +33,7 @@ public class PlayedTimeHandler implements dataHandler {
         userSessionJoinDateTime = new ArrayList<>();
         userStoredPlayedTimeBeforeJoining = new ArrayList<>();
         requiredPlayedTimeForUpgradingPlayersAccount = plugin.getConfig().getInt("stats.required-played-time-for-upgrading-players-account");
-        playersAccountUpgradeGroup = plugin.luckPermsApi.getGroupManager().getGroup(plugin.getConfig().getString("stats.players-account-upgrade-role"));
+        playersAccountUpgradeGroup = Main.luckPermsApi.getGroupManager().getGroup(plugin.getConfig().getString("stats.players-account-upgrade-role"));
     }
 
     @Override
@@ -42,6 +43,13 @@ public class PlayedTimeHandler implements dataHandler {
 
         if (plugin.playerDataHandler.playerAlreadyJoined(player)) {
             userStoredPlayedTimeBeforeJoining.add(Long.valueOf(Database.getUserSetting(player.getUniqueId().toString(), "playedTime")));
+            // Delay sinon le joueur ne voit pas
+            new BukkitRunnable() {
+                @Override
+                public void run() {
+                    checkPlayerTime(player);
+                }
+            }.runTaskLater(plugin, 20);
         } else {
             userStoredPlayedTimeBeforeJoining.add(0L);
         }
@@ -63,23 +71,46 @@ public class PlayedTimeHandler implements dataHandler {
         Database.setUserSetting(playerUuid.toString(), "playedTime", String.valueOf(actualPlayedTime));
 
         // Vérification pour avoir le rôle habitué
+        checkPlayerTime(player);
+    }
+
+    public void checkPlayerTime(Player player) {
+        // On va calculer le temps de jeu du joueur
+        UUID playerUuid = player.getUniqueId();
+        LocalDateTime timeNow = LocalDateTime.now();
+        Duration duration = Duration.between(timeNow, userSessionJoinDateTime.get(usersIndexes.indexOf(playerUuid)));
+        long playedTimeInSeconds = Math.abs(duration.toSeconds());
+        long actualPlayedTime = userStoredPlayedTimeBeforeJoining.get(usersIndexes.indexOf(playerUuid)) + playedTimeInSeconds;
+
         if (actualPlayedTime >= requiredPlayedTimeForUpgradingPlayersAccount) {
-            String playerGroupName = plugin.luckPermsApi.getPlayerAdapter(Player.class).getMetaData(player).getPrimaryGroup();
-            if (playerGroupName != playersAccountUpgradeGroup.getName()) {
-                player.sendMessage("Ton rôle: " + playerGroupName + " - Groupe visé: " + playersAccountUpgradeGroup.getName());
+            String playerGroupName = Main.luckPermsApi.getPlayerAdapter(Player.class).getMetaData(player).getPrimaryGroup();
+            if (!Objects.equals(playerGroupName, playersAccountUpgradeGroup.getName())) {
 
-                Group playerGroup = plugin.luckPermsApi.getGroupManager().getGroup(playerGroupName);
+                Group playerGroup = Main.luckPermsApi.getGroupManager().getGroup(playerGroupName);
                 if (playerGroup.getWeight().getAsInt() < playersAccountUpgradeGroup.getWeight().getAsInt()) {
-                    User playerLuckPerms = plugin.luckPermsApi.getUserManager().getUser(player.getUniqueId());
+                    ConsoleLog.info(ChatColor.GREEN + player.getName() + ChatColor.LIGHT_PURPLE + " a débloqué le rôle des joueurs " + ChatColor.GOLD + "habitués" + ChatColor.LIGHT_PURPLE + "!");
+                    User playerLuckPerms = Main.luckPermsApi.getUserManager().getUser(player.getUniqueId());
 
                     // https://www.spigotmc.org/threads/how-can-i-set-a-players-group-with-luckperms-api.489404/#post-4084060
                     InheritanceNode node = InheritanceNode.builder(playersAccountUpgradeGroup).value(true).build();
-                    DataMutateResult result = playerLuckPerms.data().add(node);
-                    plugin.luckPermsApi.getUserManager().saveUser(playerLuckPerms);
+                    playerLuckPerms.data().add(node);
+                    Main.luckPermsApi.getUserManager().saveUser(playerLuckPerms);
 
                     int requiredPlayedTimeInHours = requiredPlayedTimeForUpgradingPlayersAccount / 60 / 60;
-                    player.sendMessage(ChatColor.GREEN + "Bravo tu as passé plus de WOAW, " + ChatColor.GOLD + requiredPlayedTimeInHours + "H " + ChatColor.GREEN + "sur le serveur !!!");
-                    player.sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(ChatColor.GREEN + "Bravo " + ChatColor.GOLD + player.getName() + ChatColor.GREEN + ",  tu est maintenant un joueur habitué!"));
+                    player.sendMessage(ChatColor.GREEN + "Bravo et un grand merci à toi " + ChatColor.YELLOW + player.getName() + ChatColor.GREEN + "!");
+                    player.sendMessage(ChatColor.GREEN + "Tu as joué pendant plus de" + ChatColor.GOLD + requiredPlayedTimeInHours + "H " + ChatColor.GREEN + "sur le serveur !!!");
+                    player.sendMessage("Pour te récompenser, nous te donnons le rôle des joueurs " + ChatColor.GOLD + "habitués" + ChatColor.RESET + "!");
+                    player.sendMessage(ChatColor.GREEN + "Ce rôle te donne accès à un plus grand nombre de homes et à une plus grande surface utilisable pour protéger tes constructions avec RedProtect.");
+
+                    for (Player connectedPlayer : plugin.getServer().getOnlinePlayers()) {
+                        if (connectedPlayer != player) {
+                            connectedPlayer.sendMessage(ChatColor.GREEN + player.getName() + ChatColor.LIGHT_PURPLE + " a débloqué le rôle des joueurs " + ChatColor.GOLD + "habitués" + ChatColor.LIGHT_PURPLE + "!");
+                        }
+                        player.playSound(player.getLocation(), Sound.UI_TOAST_CHALLENGE_COMPLETE, 100, 2);
+                    }
+
+                    plugin.sendMessageToDiscord("**" + player.getName() + "** a débloqué le rôle des joueurs **habitués**! \uD83E\uDD73");
+                    plugin.sendMessageToDiscord("Un grand merci à toi qui a passé plus de 20H de jeu sur le serveur!  ❤");
 
                     // Feux d'artifices
                     GeneralEvents.fireworkSoundEffect(player, plugin);
diff --git a/src/main/java/com/slprojects/slcraftplugin/parallelTasks/events/PeriodicEvent.java b/src/main/java/com/slprojects/slcraftplugin/parallelTasks/events/PeriodicEvent.java
index 006d155f35960bc863de533267050df16acf26a2..ec65540fe63204d8d0e30fa2ecdcc14da491d332 100644
--- a/src/main/java/com/slprojects/slcraftplugin/parallelTasks/events/PeriodicEvent.java
+++ b/src/main/java/com/slprojects/slcraftplugin/parallelTasks/events/PeriodicEvent.java
@@ -1,7 +1,6 @@
 package com.slprojects.slcraftplugin.parallelTasks.events;
 
 import com.slprojects.slcraftplugin.Main;
-import com.slprojects.slcraftplugin.utils.ConsoleLog;
 import org.bukkit.entity.Player;
 import org.bukkit.scheduler.BukkitRunnable;
 
@@ -34,7 +33,7 @@ public class PeriodicEvent {
         for (Player player : plugin.getServer().getOnlinePlayers()) {
             plugin.playerDataHandler.playedTimeHandler.savePlayedTime(player);
         }
-        ConsoleLog.warning("[SL-Craft] Évènement périodique éxecuté.");
+        //ConsoleLog.warning("[SL-Craft] Évènement périodique éxecuté.");
 
         // S'exécute à la fin
         doesTheEventIsCurrentlyRunning = false;