Problem browsing files of a SD card throught Ethernet (WebServer)

Lot's of string constants, lots of buffers, and lots of objects. A good first pass at solving the problem would be to move the string constants to Flash.

void setup()
{
// Ouvrir la communication série et attendre l'ouverture du port
Serial.begin(9600);
while ( ! Serial ) {
; // wait for serial port to connect. Needed for Leonardo only
}
...

I suspect that while loop is not doing what you think it is doing. I suggest removing it for the Uno.