diff --git a/excaver.lua b/excaver.lua
index b019800117238e1c2ae90740f3a7ae9cf4e6ca06..9e45b816670a40d06bdbb55fdf9432b90124dce6 100644
--- a/excaver.lua
+++ b/excaver.lua
@@ -24,27 +24,26 @@ function RSI_Excavatrice:init()
     return excavatrice
 end
 
+
 ---
 -- \brief Affiche la position et l'orientation de l'excavatrice
 function RSI_Excavatrice:print()
+    print("Type excavatrice.")
     self.base_:print()
 end
 
----
--- \brief Abattre un arbre
--- \return bool Succès
---function RSI_Excavatrice:chopTree()
-    --TODO: Implementer
---end
 
 ---
 -- \brief Dégager la zone vers le bas
--- \param int nLignes   Nombre de lignes
--- \param int nColonnes Nombre de colonnes
--- \param int nLignes   Profondeur z (vers le bas) sur laquelle excaver
+-- \param int lines     Nombre de lignes
+-- \param int cols      Nombre de colonnes
+-- \param int depth     Profondeur z (vers le bas) sur laquelle excaver
 -- \return bool Succès
-function RSI_Excavatrice:main(nLignes, nColonnes, profondeur)
-    --TODO: Implementer
+function RSI_Excavatrice:excavateVolumeDown(lines, cols, depth)
+    --TODO: Refuel quand < 100
+    --TODO: Vider l'inventaire quand on a ramassé un truc et qu'il n'y a plus
+    --      de cases libres
+    return self.base_:goThroughVolume(lines, cols, depth, turtle.digDown)
 end
 
 return RSI_Excavatrice
diff --git a/rsiTurtle.lua b/rsiTurtle.lua
index 30c5dff0ec079d82c54073295d708a31794d63ea..b65a2565387ef4448b1182dfb8221f39dac12e02 100644
--- a/rsiTurtle.lua
+++ b/rsiTurtle.lua
@@ -722,4 +722,27 @@ function RSI_Turtle:refuelUntil(fuelLevel, fuelChestSlot)
     return false
 end
 
+
+---
+-- \brief   Place le contenu de l'inventaire dans un conteneur devant soit
+--          (ou le balance par terre s'il n'y a aucun bloc de stockage)
+--          Agit sur un intervalle de cases de l'inventaire
+--          ex: 1,4 va prendre les cases d'inventaire 1, 2, 3, et 4
+-- \param int   firstSlot   Brûler du carburant jusqu'à ce que le tortue
+--                          atteigne le niveau spécifié
+-- \param int   lastSlot    Case de l'inventaire contenant un ender chest
+--                              contenant du carburant
+-- \return bool Succès
+function RSI_Turtle:dumpInventory(firstSlot, lastSlot)
+    local success
+
+    for i=firstSlot, lastSlot, 1
+    do
+        turtle.select(i)
+        success = turtle.drop() or (turtle.getItemCount() == 0)
+        if (not success) then return false end
+    end
+    return true
+end
+
 return RSI_Turtle
diff --git a/test.lua b/test.lua
index 6daecf9d376922f1073871acddfb4b019766d96c..fcdb33526c1e2bde532430ecba8e4f9693e1349d 100644
--- a/test.lua
+++ b/test.lua
@@ -190,14 +190,17 @@ end
 --assert(e:excavateVolumeDown(2,2,3))
 --assert(e:excavateVolumeDown(10,10,68)) Attention: prend des heures
 
-print("Test refuelUntil")
-assert(e.base_:refuelUntil(FUEL_FULL, SLOT_ENDERCHEST_FUEL))
-print("Fuel level after refueling:")
-print(turtle.getFuelLevel())
-assert(turtle.getFuelLevel() >= FUEL_FULL)
-
-assert(e.base_:moveToOrigin())
-print(e.base_:getPos())
+-- print("Test refuelUntil")
+-- assert(e.base_:refuelUntil(FUEL_FULL, SLOT_ENDERCHEST_FUEL))
+-- print("Fuel level after refueling:")
+-- print(turtle.getFuelLevel())
+-- assert(turtle.getFuelLevel() >= FUEL_FULL)
+
+print("Test dumpInventory")
+assert(e.base_:dumpInventory(3, 12))
+
+-- assert(e.base_:moveToOrigin())
+-- print(e.base_:getPos())
 
 print("Fin des tests")