[Résolu] probleme UNO V3 : shield ethernet répond au ping mais pas en HTTP

bonjour a tous,

je débute en ARDUINO UNO V3 et bute sur le fonctionnement du shield Ethernet avec SD
j’ai récupéré dans les tuto un bout de code pour faire un serveur web
la carte répond bien au ping (depuis mon pc 192.168.0.110) mais pas a un client web (sur le même pc)
j’ai mis des message sur la liaison série pour débuger mais je comprend pas

mon code :

#include <SPI.h>
#include <Ethernet.h>

byte mac[] = { 0xCA, 0xCA, 0xCA, 0xCA, 0xCA, 0xCA };  
// the dns ocal address:
byte dnsloc[] = { 192, 168, 0, 254 };
// the router's gateway address:
byte gateway[] = { 192, 168, 0, 254 };
// the subnet:
byte subnet[] = { 255, 255, 255, 0 };
IPAddress ip(192, 168, 0, 190); // IP address, may need to change depending on network
IPAddress IPlocal(192,168,0,190); 
EthernetServer server(80);  // create a server at port 80

void setup()
{
 // Open serial communications and wait for port to open:
  Serial.begin(9600);
   while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }
  Serial.println("port serie ok ");
    // disable the SD card by switching pin 4 high
    // not using the SD card in this program, but if an SD card is left in the socket,
    // it may cause a problem with accessing the Ethernet chip, unless disabled
    pinMode(4, OUTPUT);
    digitalWrite(4, HIGH);
  Serial.println("lecteur SD  ko ");
  
  // start the Ethernet connection and the server:
  Ethernet.begin(mac, IPlocal, dnsloc, gateway, subnet);  // initialize Ethernet device
    delay(1000); // donne le temps à la carte Ethernet de s'initialiser
   Serial.println("ethernet ok ");  

Serial.print(Ethernet.localIP()[0]), Serial.print(".");
Serial.print(Ethernet.localIP()[1]), Serial.print(".");
Serial.print(Ethernet.localIP()[2]), Serial.print(".");
Serial.println(Ethernet.localIP()[3]);
//
Serial.print(IPlocal[0]), Serial.print(".");
Serial.print(IPlocal[1]), Serial.print(".");
Serial.print(IPlocal[2]), Serial.print(".");
Serial.println(IPlocal[3]);
  
    server.begin();           // start to listen for clients
     delay(1000); // donne le temps à la carte Ethernet de s'initialiser
 Serial.println("serveur ok ");

 Serial.print("server is at ");
  Serial.println(Ethernet.localIP());

}
void loop()
{
    EthernetClient client = server.available();  // try to get client
     Serial.println("test client  ");  
    if (client) {  // got client?
  
     Serial.println("client ok ");  
        boolean currentLineIsBlank = true;
        while (client.connected()) {
            if (client.available()) {   // client data available to read
                char c = client.read(); // read 1 byte (character) from client
                // last line of client request is blank and ends with \n
                // respond to client only after last line received
                if (c == '\n' && currentLineIsBlank) {
                    // send a standard http response header
                    client.println("HTTP/1.1 200 OK");
                    client.println("Content-Type: text/html");
                    client.println("Connection: close");
                    client.println();
                    // send web page
                    client.println("<!DOCTYPE html>");
                    client.println("<html>");
                    client.println("<head>");
                    client.println("<title>Arduino Web Page</title>");
                    client.println("</head>");
                    client.println("<body>");
                    client.println("<h1>Hello from Arduino  !</h1>");
                    client.println("<p>A web page from the Arduino server</p>");
                    client.println("</body>");
                    client.println("</html>");
                    break;
                }
                // every line of text received from the client ends with \r\n
                if (c == '\n') {
                    // last character on line of received text
                    // starting new line with next character read
                    currentLineIsBlank = true;
                } 
                else if (c != '\r') {
                    // a text character was received from client
                    currentLineIsBlank = false;
                }
            } // end if (client.available())
        } // end while (client.connected())
        delay(1);      // give the web browser time to receive the data
        client.stop(); // close the connection
    } // end if (client)
}

les messages de la liaison série

port serie ok 
lecteur SD  ko 
ethernet ok 
0.0.0.0
192.168.0.190
serveur ok 
server is at 0.0.0.0

je ne comprend pas pourquoi Ethernet.localIP() retourne 0.0.0.0
j’ai fais pas mal de recherche sur les forum mais je n’ai pas trouvé de cas similaires

d’avance merci pour votre aide

je m'auto-répond : j'ai trouvé !!!!

une goutte de soudure sur le connecteur ICSP entre les broches 1 et 3 (Ah ces chinois !!!)

merci quand même