diff --git a/src/main/java/com/slprojects/slcraftplugin/Main.java b/src/main/java/com/slprojects/slcraftplugin/Main.java
index 4ad6029f51652421c164e123a2494b02ebabb26e..e0e04cec9a1f67627d2753299f01a6eb07a7e936 100644
--- a/src/main/java/com/slprojects/slcraftplugin/Main.java
+++ b/src/main/java/com/slprojects/slcraftplugin/Main.java
@@ -1,9 +1,10 @@
 package com.slprojects.slcraftplugin;
 
-import com.slprojects.slcraftplugin.commandes.linkCodeCommand;
-import com.slprojects.slcraftplugin.commandes.wildCommand;
-import com.slprojects.slcraftplugin.tachesParalleles.savePlayerData;
-import com.slprojects.slcraftplugin.tachesParalleles.internalWebServer;
+import com.slprojects.slcraftplugin.commands.admins.wildReset;
+import com.slprojects.slcraftplugin.commands.publics.linkCode;
+import com.slprojects.slcraftplugin.commands.publics.wild;
+import com.slprojects.slcraftplugin.parallelTasks.playerDataHandler;
+import com.slprojects.slcraftplugin.parallelTasks.internalWebServer;
 import me.clip.placeholderapi.PlaceholderAPI;
 import net.luckperms.api.LuckPerms;
 import net.luckperms.api.cacheddata.CachedMetaData;
@@ -38,8 +39,6 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
 import java.util.UUID;
-import java.util.concurrent.TimeUnit;
-import java.util.regex.MatchResult;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -48,7 +47,8 @@ public final class Main extends JavaPlugin implements Listener {
     private List<UUID> wildCommandActiveUsers;
     private static FileConfiguration config;
     private static LuckPerms luckPermsApi;
-    private com.slprojects.slcraftplugin.tachesParalleles.savePlayerData savePlayerData;
+    public playerDataHandler playerDataHandler;
+    public wild wildCommand;
 
     // Fonctions appelées à des évènements clés
     @Override
@@ -84,15 +84,18 @@ public final class Main extends JavaPlugin implements Listener {
         reloadConfig();
         config = getConfig();
         updateConfig();
-        savePlayerData = new savePlayerData(this);
+        playerDataHandler = new playerDataHandler(this);
 
         // On initialise la base de donnée
         initDatabase();
 
-        wildCommand wildCommand = new wildCommand(this);
+        wildCommand = new wild(this);
         getCommand("wild").setExecutor(wildCommand);
 
-        linkCodeCommand linkCodeCommand = new linkCodeCommand(this);
+        wildReset wildReset = new wildReset(this);
+        getCommand("reset-wild").setExecutor(wildReset);
+
+        linkCode linkCodeCommand = new linkCode(this);
         getCommand("getLinkCode").setExecutor(linkCodeCommand);
 
         internalWebServer.startServer(this);
@@ -105,14 +108,14 @@ public final class Main extends JavaPlugin implements Listener {
         // Plugin shutdown logic
         getServer().getConsoleSender().sendMessage(ChatColor.RED+"SL-Craft | Plugin éteint");
 
-        getServer().getOnlinePlayers().forEach(player -> savePlayerData.saveOnQuit(player));
+        getServer().getOnlinePlayers().forEach(player -> playerDataHandler.quitEvent(player));
     }
 
     @EventHandler(priority = EventPriority.HIGHEST)
     public void onPlayerJoin(PlayerJoinEvent e) {
         // On désactive le message par défaut
         e.joinMessage(null);
-        savePlayerData.saveOnJoin(e.getPlayer());
+        playerDataHandler.joinEvent(e.getPlayer());
 
         // On affiche le message de bienvenue
         String welcomeMessage = PlaceholderAPI.setPlaceholders(e.getPlayer(), Objects.requireNonNull(getConfig().getString("player-join-message")));
@@ -130,7 +133,7 @@ public final class Main extends JavaPlugin implements Listener {
     public void onPlayerQuit(PlayerQuitEvent e) {
         // On désactive le message par défaut
         e.quitMessage(null);
-        savePlayerData.saveOnQuit(e.getPlayer());
+        playerDataHandler.quitEvent(e.getPlayer());
         String quitMessage = PlaceholderAPI.setPlaceholders(e.getPlayer(), Objects.requireNonNull(getConfig().getString("player-quit-message")));
         for(Player p : getServer().getOnlinePlayers()){
             p.sendMessage(quitMessage);
diff --git a/src/main/java/com/slprojects/slcraftplugin/commands/admins/wildReset.java b/src/main/java/com/slprojects/slcraftplugin/commands/admins/wildReset.java
new file mode 100644
index 0000000000000000000000000000000000000000..4b199bc8153b075fb3e8982d000b6c32c14e01d3
--- /dev/null
+++ b/src/main/java/com/slprojects/slcraftplugin/commands/admins/wildReset.java
@@ -0,0 +1,62 @@
+package com.slprojects.slcraftplugin.commands.admins;
+
+import com.slprojects.slcraftplugin.Main;
+import org.bukkit.ChatColor;
+import org.bukkit.command.Command;
+import org.bukkit.command.CommandExecutor;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
+
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
+import java.util.List;
+
+public class wildReset implements CommandExecutor {
+    private final Main plugin;
+
+    public wildReset(Main plugin){
+        this.plugin = plugin;
+    }
+
+    @Override
+    public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args){
+        if(args.length > 0){
+            for(int i=0; i< args.length; i++){
+                Player player = plugin.getServer().getPlayer(args[i]);
+                if(player != null){
+                    List<Object> reset = new ArrayList<Object>(){
+                        {
+                            add(0);
+                            add(LocalDateTime.parse("2001-12-11 12:30", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm")));
+                        }
+                    };
+                    plugin.playerDataHandler.savePlayerWildCmdStats(player, reset);
+                    plugin.wildCommand.setPlayerStats(player, reset);
+                    String msg = "Passage de 'wildCmdLastUsed' au 11/12/2001 et 'wildCmdAskNum' à 0 pour " + player.getName() + " UUID: " + player.getUniqueId();
+                    if (sender instanceof Player){
+                        sender.sendMessage("§7§o"+msg);
+                    }else{
+                        plugin.getServer().getConsoleSender().sendMessage(msg);
+                    }
+                }else{
+                    String errorMsg = "Joueur n°" + i + " (dans la liste) non trouvé. :(";
+                    if (sender instanceof Player){
+                        sender.sendMessage("§c"+errorMsg);
+                    }else{
+                        plugin.getServer().getConsoleSender().sendMessage(ChatColor.RED + errorMsg);
+                    }
+                }
+            }
+        }else{
+            String errorMsg = "Vous devez écrire le pseudo d'un ou plusieurs joueurs.";
+            if (sender instanceof Player){
+                sender.sendMessage("§c"+errorMsg);
+            }else{
+                plugin.getServer().getConsoleSender().sendMessage(ChatColor.RED + errorMsg);
+            }
+        }
+        return true;
+    }
+}
diff --git a/src/main/java/com/slprojects/slcraftplugin/commandes/linkCodeCommand.java b/src/main/java/com/slprojects/slcraftplugin/commands/publics/linkCode.java
similarity index 96%
rename from src/main/java/com/slprojects/slcraftplugin/commandes/linkCodeCommand.java
rename to src/main/java/com/slprojects/slcraftplugin/commands/publics/linkCode.java
index b7691d00b5e19faf6d2268002f6d1d53f1de7169..1633f2d54371ad9f348fe7c4c0f31927308e45dc 100644
--- a/src/main/java/com/slprojects/slcraftplugin/commandes/linkCodeCommand.java
+++ b/src/main/java/com/slprojects/slcraftplugin/commands/publics/linkCode.java
@@ -1,4 +1,4 @@
-package com.slprojects.slcraftplugin.commandes;
+package com.slprojects.slcraftplugin.commands.publics;
 
 import com.slprojects.slcraftplugin.Main;
 import org.bukkit.ChatColor;
@@ -14,12 +14,12 @@ import java.sql.ResultSet;
 import java.time.LocalDateTime;
 import java.util.Random;
 
-public class linkCodeCommand implements CommandExecutor {
+public class linkCode implements CommandExecutor {
 
     // Variables
     private final Main plugin;
 
-    public linkCodeCommand(Main plugin){
+    public linkCode(Main plugin){
         // On récupère la classe parente pour les paramètres
         this.plugin = plugin;
     }
diff --git a/src/main/java/com/slprojects/slcraftplugin/commandes/wildCommand.java b/src/main/java/com/slprojects/slcraftplugin/commands/publics/wild.java
similarity index 68%
rename from src/main/java/com/slprojects/slcraftplugin/commandes/wildCommand.java
rename to src/main/java/com/slprojects/slcraftplugin/commands/publics/wild.java
index 95a2627023bea952c0c4b1d5a228d08a0b70bd16..f22a80655b61f18c97a190cac452a4a45e653469 100644
--- a/src/main/java/com/slprojects/slcraftplugin/commandes/wildCommand.java
+++ b/src/main/java/com/slprojects/slcraftplugin/commands/publics/wild.java
@@ -1,4 +1,4 @@
-package com.slprojects.slcraftplugin.commandes;
+package com.slprojects.slcraftplugin.commands.publics;
 
 import com.slprojects.slcraftplugin.Main;
 import org.bukkit.Bukkit;
@@ -19,7 +19,7 @@ import java.util.*;
 
 import static java.lang.Math.abs;
 
-public class wildCommand implements CommandExecutor {
+public class wild implements CommandExecutor {
 
     // Variables
     private final Main plugin;
@@ -31,7 +31,7 @@ public class wildCommand implements CommandExecutor {
     private final int usageCooldown;
     private final int usagePerDay;
 
-    public wildCommand(Main plugin){
+    public wild(Main plugin){
         // On récupère la classe parente pour les paramètres
         this.plugin = plugin;
         wildUsersIndexes = new ArrayList<>();
@@ -45,7 +45,6 @@ public class wildCommand implements CommandExecutor {
     }
 
     @Override
-    @SuppressWarnings("unchecked")
     public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
         // On vérifie que la commande a bien été lancée par un joueur
         if (sender instanceof Player) {
@@ -54,28 +53,20 @@ public class wildCommand implements CommandExecutor {
             int playerIndex;
             LocalDateTime dateTimeNow = LocalDateTime.now();
 
-            if(wildUsersIndexes.contains(playerUUID)){
-                playerIndex = wildUsersIndexes.indexOf(playerUUID);
-
-                if(abs(ChronoUnit.SECONDS.between(wildUsersLastAsked.get(playerIndex), dateTimeNow)) > usageCooldown){
-                    if(wildUsersAskNum.get(playerIndex) < usagePerDay){
-                        wildUsersLastAsked.set(playerIndex, dateTimeNow);
-                        wildUsersStartLocation.set(playerIndex, player.getLocation());
-                        askForTeleport(player);
-                    }else{
-                        plugin.getServer().getConsoleSender().sendMessage("["+ plugin.getName() +"] Le joueur "+ChatColor.GOLD+player.getName()+ChatColor.RESET+" a exécuté la commande "+ChatColor.GOLD+"/wild"+ChatColor.RESET+" : "+ChatColor.RED+"refusé");
-                        player.sendMessage("§cVous n'avez le droit qu'à §n"+usagePerDay+"§r§c téléportations aléatoires par jour.");
-                    }
+            playerIndex = wildUsersIndexes.indexOf(playerUUID);
+
+            if(abs(ChronoUnit.SECONDS.between(wildUsersLastAsked.get(playerIndex), dateTimeNow)) > usageCooldown){
+                if(wildUsersAskNum.get(playerIndex) < usagePerDay){
+                    wildUsersLastAsked.set(playerIndex, dateTimeNow);
+                    wildUsersStartLocation.set(playerIndex, player.getLocation());
+                    askForTeleport(player);
                 }else{
                     plugin.getServer().getConsoleSender().sendMessage("["+ plugin.getName() +"] Le joueur "+ChatColor.GOLD+player.getName()+ChatColor.RESET+" a exécuté la commande "+ChatColor.GOLD+"/wild"+ChatColor.RESET+" : "+ChatColor.RED+"refusé");
-                    player.sendMessage("§cVous devez attendre §n"+usageCooldown+"s§r§c avant de relancer la commande.");
+                    player.sendMessage("§cVous n'avez le droit qu'à §n"+usagePerDay+"§r§c téléportations aléatoires par jour.");
                 }
             }else{
-                wildUsersIndexes.add(playerUUID);
-                wildUsersLastAsked.add(dateTimeNow);
-                wildUsersAskNum.add(0);
-                wildUsersStartLocation.add(player.getLocation());
-                askForTeleport(player);
+                plugin.getServer().getConsoleSender().sendMessage("["+ plugin.getName() +"] Le joueur "+ChatColor.GOLD+player.getName()+ChatColor.RESET+" a exécuté la commande "+ChatColor.GOLD+"/wild"+ChatColor.RESET+" : "+ChatColor.RED+"refusé");
+                player.sendMessage("§cVous devez attendre §n"+usageCooldown+"s§r§c avant de relancer la commande.");
             }
         }
         return true;
@@ -98,13 +89,14 @@ public class wildCommand implements CommandExecutor {
                     // Date bidon pour annuler le cooldown (c'est ma date de naissance :D)
                     wildUsersLastAsked.set(playerIndex, LocalDateTime.parse("2001-12-11 12:30", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm")));
                 }else{
-                    teleportPlayer(player, playerIndex);
+                    teleportPlayer(player);
                 }
             }
         }.runTaskLater(plugin, delayInTicks);
     }
 
-    private void teleportPlayer(Player player, int playerIndex){
+    private void teleportPlayer(Player player){
+        int playerIndex = wildUsersIndexes.indexOf(player.getUniqueId());
         wildUsersAskNum.set(playerIndex, wildUsersAskNum.get(playerIndex)+1);
 
         // on récupère la liste des biomes exclus
@@ -158,4 +150,43 @@ public class wildCommand implements CommandExecutor {
             player.sendMessage("§7§oVous avez épuisé toutes vos téléportations du jour.");
         }
     }
+
+    public List<Object> getPlayerStats(Player player){
+        if(!wildUsersIndexes.contains(player.getUniqueId())){
+            return new ArrayList<>();
+        }else{
+            int playerIndex = wildUsersIndexes.indexOf(player.getUniqueId());
+            // Indexes:
+            // - 0: Nombre d'utilisation du jour
+            // - 1: Date de la dernière commande
+            List<Object> stats = new ArrayList<Object>();
+            stats.add(wildUsersAskNum.get(playerIndex));
+            stats.add(wildUsersLastAsked.get(playerIndex));
+            return stats;
+        }
+    }
+
+    public void setPlayerStats(Player player, List<Object> stats){
+        LocalDateTime dateTimeNow = LocalDateTime.now();
+
+        if(!wildUsersIndexes.contains(player.getUniqueId())){
+            wildUsersIndexes.add(player.getUniqueId());
+            wildUsersLastAsked.add(dateTimeNow);
+            wildUsersAskNum.add(0);
+            wildUsersStartLocation.add(player.getLocation());
+        }
+        int playerIndex = wildUsersIndexes.indexOf(player.getUniqueId());
+
+        // Indexes:
+        // - 0: Nombre d'utilisation du jour
+        // - 1: Date de la dernière commande
+        LocalDateTime savedDateTime = (LocalDateTime)stats.get(1);
+        if(ChronoUnit.HOURS.between(savedDateTime, dateTimeNow) > 24){
+            wildUsersAskNum.set(playerIndex, 0);
+            wildUsersLastAsked.set(playerIndex, savedDateTime);
+        }else{
+            wildUsersAskNum.set(playerIndex, (int)stats.get(0));
+            wildUsersLastAsked.set(playerIndex, savedDateTime);
+        }
+    }
 }
diff --git a/src/main/java/com/slprojects/slcraftplugin/tachesParalleles/internalWebServer.java b/src/main/java/com/slprojects/slcraftplugin/parallelTasks/internalWebServer.java
similarity index 99%
rename from src/main/java/com/slprojects/slcraftplugin/tachesParalleles/internalWebServer.java
rename to src/main/java/com/slprojects/slcraftplugin/parallelTasks/internalWebServer.java
index 2d9480d447a7c1275569d7874408b116e1a04912..1de5e8ab7a2bbf3912cec57107f3a8973be24b95 100644
--- a/src/main/java/com/slprojects/slcraftplugin/tachesParalleles/internalWebServer.java
+++ b/src/main/java/com/slprojects/slcraftplugin/parallelTasks/internalWebServer.java
@@ -1,4 +1,4 @@
-package com.slprojects.slcraftplugin.tachesParalleles;
+package com.slprojects.slcraftplugin.parallelTasks;
 
 import com.slprojects.slcraftplugin.Main;
 import org.bukkit.ChatColor;
diff --git a/src/main/java/com/slprojects/slcraftplugin/tachesParalleles/savePlayerData.java b/src/main/java/com/slprojects/slcraftplugin/parallelTasks/playerDataHandler.java
similarity index 61%
rename from src/main/java/com/slprojects/slcraftplugin/tachesParalleles/savePlayerData.java
rename to src/main/java/com/slprojects/slcraftplugin/parallelTasks/playerDataHandler.java
index 1331726580461f1e04260cb55f9863a23153eb94..e1f8b23c2a48eccded03c844108589d41be4c651 100644
--- a/src/main/java/com/slprojects/slcraftplugin/tachesParalleles/savePlayerData.java
+++ b/src/main/java/com/slprojects/slcraftplugin/parallelTasks/playerDataHandler.java
@@ -1,35 +1,34 @@
-package com.slprojects.slcraftplugin.tachesParalleles;
+package com.slprojects.slcraftplugin.parallelTasks;
 
 import com.slprojects.slcraftplugin.Main;
 import org.bukkit.ChatColor;
 import org.bukkit.Statistic;
 import org.bukkit.entity.Player;
 
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
+import java.sql.*;
 import java.time.Duration;
 import java.time.LocalDateTime;
 import java.time.ZoneOffset;
+import java.time.format.DateTimeFormatter;
+import java.time.temporal.ChronoUnit;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.UUID;
 
-public class savePlayerData {
+public class playerDataHandler {
     private final Main plugin;
     private Connection con;
     // Playtime
     private final List<UUID> playTimeUsersIndexes;
     private final List<LocalDateTime> playTimeUsersDate;
 
-    public savePlayerData(Main plugin){
+    public playerDataHandler(Main plugin){
         this.plugin = plugin;
         playTimeUsersIndexes = new ArrayList<>();
         playTimeUsersDate = new ArrayList<>();
     }
 
-    public void saveOnJoin(Player player) {
+    public void joinEvent(Player player) {
         // On ouvre la bdd
         con = plugin.bddOpenConn();
 
@@ -37,25 +36,27 @@ public class savePlayerData {
         playTimeUsersDate.add(LocalDateTime.now());
 
         insertPlayerName(player); // On check si le nom du joueur est déjà enregistré
-        playerAddPlayerEntryOrExit(player, true); // On ajoute son entée
-        checkJoinedDate(player); // On check si on dipose de sa date de rejoint
+        statsPlayerEntryExit(player, true); // On ajoute son entée
+        checkPlayerJoinedDate(player); // On check si on dipose de sa date de rejoint
         setPlayerJoinCount(player); // On set le nombre de fois qu'il a rejoint
+        plugin.wildCommand.setPlayerStats(player, getPlayerWildCmdStats(player));
 
         // On ferme la bdd
         try {
             con.close();
         } catch (SQLException e) {
-            plugin.getLogger().warning(ChatColor.RED + "Impossible de fermer la connexion à la bdd. Func savePlayerData::saveOnJoin(Player player)");
+            plugin.getLogger().warning("Impossible de fermer la connexion à la bdd. Func savePlayerData::saveOnJoin(Player player)");
             e.printStackTrace();
         }
     }
 
-    public void saveOnQuit(Player player) {
+    public void quitEvent(Player player) {
         // On ouvre la bdd
         con = plugin.bddOpenConn();
 
         calculatePlayerPlayTime(player); // On actualise le temps de jeu du joueur
-        playerAddPlayerEntryOrExit(player, false); // On ajoute son sortie
+        statsPlayerEntryExit(player, false); // On ajoute son sortie
+        savePlayerWildCmdStats(player, plugin.wildCommand.getPlayerStats(player));
 
         // On ferme la bdd
         try {
@@ -92,25 +93,25 @@ public class savePlayerData {
                 insertUtilisateur.executeQuery();
             }
         } catch (SQLException e) {
-            plugin.getLogger().warning(ChatColor.RED + "Func savePlayerData::insertPlayerName(Player player)");
+            plugin.getLogger().warning("Func savePlayerData::insertPlayerName(Player player)");
             e.printStackTrace();
         }
     }
 
-    private void playerAddPlayerEntryOrExit(Player player, boolean isEnter){
+    private void statsPlayerEntryExit(Player player, boolean isEnter){
         try {
             PreparedStatement insertPlayerEntryOrExit = con.prepareStatement("INSERT INTO site_playerEntries (uuid, isJoin, date) VALUES (?, ?, ?)");
             insertPlayerEntryOrExit.setString(1, player.getUniqueId().toString());
             insertPlayerEntryOrExit.setBoolean(2, isEnter);
-            insertPlayerEntryOrExit.setString(3, java.sql.Timestamp.valueOf(java.time.LocalDateTime.now()).toString());
+            insertPlayerEntryOrExit.setString(3, Timestamp.valueOf(java.time.LocalDateTime.now()).toString());
             insertPlayerEntryOrExit.executeQuery();
         } catch (SQLException e) {
-            plugin.getLogger().warning(ChatColor.RED + "Func savePlayerData::playerAddPlayerEntryOrExit(Player player, boolean isEnter)");
+            plugin.getLogger().warning("Func savePlayerData::playerAddPlayerEntryOrExit(Player player, boolean isEnter)");
             e.printStackTrace();
         }
     }
 
-    private void checkJoinedDate(Player player){
+    private void checkPlayerJoinedDate(Player player){
         try {
             // On va vérifier si on l'a déjà renseigné par le passé
             PreparedStatement rechercheUtilisateur = con.prepareStatement("SELECT * FROM site_userSetting WHERE uuid = ? AND name = 'joinedDate'");
@@ -156,12 +157,12 @@ public class savePlayerData {
                     // Le joueur est nouveau, on insère la date d'inscription
                     PreparedStatement insertionDateInscription = con.prepareStatement("INSERT INTO site_userSetting (`uuid`, `name`, `value`) VALUES (?,'joinedDate',?)");
                     insertionDateInscription.setString(1, player.getUniqueId().toString());
-                    insertionDateInscription.setString(2, java.sql.Timestamp.valueOf(java.time.LocalDateTime.now()).toString());
+                    insertionDateInscription.setString(2, Timestamp.valueOf(java.time.LocalDateTime.now()).toString());
                     insertionDateInscription.executeQuery();
                 }
             }
         } catch (SQLException e) {
-            plugin.getLogger().warning(ChatColor.RED + "Func savePlayerData::checkJoinedDate(Player player)");
+            plugin.getLogger().warning("Func savePlayerData::checkJoinedDate(Player player)");
             e.printStackTrace();
         }
     }
@@ -188,7 +189,7 @@ public class savePlayerData {
             }
 
         } catch (SQLException e) {
-            plugin.getLogger().warning(ChatColor.RED + "Func savePlayerData::setPlayerJoinCount(Player player)");
+            plugin.getLogger().warning("Func savePlayerData::setPlayerJoinCount(Player player)");
             e.printStackTrace();
         }
     }
@@ -220,7 +221,114 @@ public class savePlayerData {
             }
 
         } catch (SQLException e) {
-            plugin.getLogger().warning(ChatColor.RED + "Func savePlayerData::increasePlayerPlayTime(Player player)");
+            plugin.getLogger().warning("Func savePlayerData::increasePlayerPlayTime(Player player)");
+            e.printStackTrace();
+        }
+    }
+
+    private List<Object> getPlayerWildCmdStats(Player player){
+        // Indexes:
+        // - 0: Nombre d'utilisation du jour
+        // - 1: Date de la dernière commande
+
+        try {
+            PreparedStatement playerLastUsed = con.prepareStatement("SELECT * FROM site_userSetting WHERE uuid = ? AND name = 'wildCmdLastUsed'");
+            playerLastUsed.setString(1, player.getUniqueId().toString());
+            ResultSet lastUsedResult = playerLastUsed.executeQuery();
+
+            if(lastUsedResult.next()){
+                LocalDateTime lastUsed = Timestamp.valueOf(lastUsedResult.getString("value")).toLocalDateTime();
+                if(ChronoUnit.HOURS.between(lastUsed, LocalDateTime.now()) > 24){
+                    return new ArrayList<Object>(){
+                        {
+                            add(0);
+                            add(lastUsed);
+                        }
+                    };
+                }else{
+                    PreparedStatement playerAskNum = con.prepareStatement("SELECT * FROM site_userSetting WHERE uuid = ? AND name = 'wildCmdAskNum'");
+                    playerAskNum.setString(1, player.getUniqueId().toString());
+                    ResultSet askNumResult = playerAskNum.executeQuery();
+
+                    if(askNumResult.next()){
+                        return new ArrayList<Object>(){
+                            {
+                                add(Integer.valueOf(askNumResult.getString("value")));
+                                add(lastUsed);
+                            }
+                        };
+                    }else{
+                        plugin.getLogger().warning("Func savePlayerData::getPlayerWildCmdStats(Player player)");
+                        plugin.getLogger().warning("Fonctionnement anormal! On dispose de la date de 'wildCmdLastUsed' mais pas de 'wildCmdAskNum' pour le joueur " + player.getName() + " UUID: " + player.getUniqueId());
+                        plugin.getLogger().warning("Passage de 'wildCmdAskNum' à 0.");
+                        return new ArrayList<Object>(){
+                            {
+                                add(0);
+                                add(lastUsed);
+                            }
+                        };
+                    }
+                }
+            }else{
+                plugin.getLogger().info("Mise à jour du joueur " + player.getName() + " UUID: " + player.getUniqueId());
+                plugin.getLogger().info("Création des champs 'wildCmdLastUsed' et 'wildCmdAskNum'");
+
+                // On va insérer une date bidon pour éviter un potentiel cooldown
+                LocalDateTime dateBidon = LocalDateTime.parse("2001-12-11 12:30", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"));
+                PreparedStatement insertWildCmdLastUsed = con.prepareStatement("INSERT INTO site_userSetting (`uuid`, `name`, `value`) VALUES (?,'wildCmdLastUsed',?)");
+                insertWildCmdLastUsed.setString(1, player.getUniqueId().toString());
+                insertWildCmdLastUsed.setString(2, Timestamp.valueOf(dateBidon).toString());
+                insertWildCmdLastUsed.executeQuery();
+
+                PreparedStatement insertWildCmdAskNum = con.prepareStatement("INSERT INTO site_userSetting (`uuid`, `name`, `value`) VALUES (?,'wildCmdAskNum',?)");
+                insertWildCmdAskNum.setString(1, player.getUniqueId().toString());
+                insertWildCmdAskNum.setString(2, "0");
+                insertWildCmdAskNum.executeQuery();
+
+                return new ArrayList<Object>(){
+                    {
+                        add(0);
+                        add(dateBidon);
+                    }
+                };
+            }
+
+        } catch (SQLException e) {
+            plugin.getLogger().warning("Func savePlayerData::getPlayerWildCmdStats(Player player)");
+            e.printStackTrace();
+        }
+
+        plugin.getLogger().warning("Func savePlayerData::getPlayerWildCmdStats(Player player)");
+        plugin.getLogger().warning("Fonctionnement anormal! La recherche dans la bdd a échouée pour le joueur " + player.getName() + " UUID: " + player.getUniqueId());
+        plugin.getLogger().warning("Passage de 'wildCmdLastUsed' au 11 décembre 2001 et 'wildCmdAskNum' à 0");
+
+        return new ArrayList<Object>(){
+            {
+                add(0);
+                add(LocalDateTime.parse("2001-12-11 12:30", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm")));
+            }
+        };
+    }
+
+    public void savePlayerWildCmdStats(Player player, List<Object> stats){
+        // Indexes:
+        // - 0: Nombre d'utilisation du jour
+        // - 1: Date de la dernière commande
+
+        try {
+            // On va zapper la vérification de présence car on suppose que la commande getWildCmdStats avait réussie
+            PreparedStatement updateWildCmdAskNum = con.prepareStatement("UPDATE site_userSetting SET value = ? WHERE uuid = ? AND name = 'wildCmdAskNum'");
+            updateWildCmdAskNum.setString(1, String.valueOf(stats.get(0)));
+            updateWildCmdAskNum.setString(2, player.getUniqueId().toString());
+            updateWildCmdAskNum.executeUpdate();
+
+            PreparedStatement updateWildCmdLastUsed = con.prepareStatement("UPDATE site_userSetting SET value = ? WHERE uuid = ? AND name = 'wildCmdLastUsed'");
+            updateWildCmdLastUsed.setString(1, Timestamp.valueOf((LocalDateTime)stats.get(1)).toString());
+            updateWildCmdLastUsed.setString(2, player.getUniqueId().toString());
+            updateWildCmdLastUsed.executeUpdate();
+
+        } catch (SQLException e) {
+            plugin.getLogger().warning("Func savePlayerData::getPlayerWildCmdStats(Player player)");
             e.printStackTrace();
         }
     }
diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml
index 59d20de2c394777f349990e02ee79f3beacb112b..85da917c30a52d0f4be08aca37891b0491ad56c6 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -13,6 +13,12 @@ commands:
     usage: /wild
     permission: slcraft.wild
 
+  reset-wild:
+    description: ADMIN - Permet de réinitialiser le compteur de téléportation aléatoire d'un joueur
+    aliases: [reset-wild, wildreset]
+    usage: /reset-wild
+    permission: slcraft.admin.reset-wild
+
   getlinkcode:
     description: Te permet d'obtenir un code pour associer ton compte Minecraft au site internet du serveur.'
     aliases: [ getlinkcode ]