Récupération de donnée WEB

Bonjour à tous,

j'aimerais pouvoir récupérer la date qui est généré via un script Javascript sur mon serveur afin de la stocker dans une variable sur le arduino, je ne sait pas trop comment m'y prendre.

Pour l'instant j'arrive à envoyer des données sur le site mais j'aimerais faire l'inverse, j'utilise des requette XML avec AJAX.

Je vous poste mon code ainsi qu'une image de ma page WEB :

/*--------------------------------
Programme mis en place par Quentin
dans le cadre du stage de BTS à l'Institut Pascal.

Ce programme s'utilise avec un shield ethernet, il permet
d'afficher des valeurs en continue sur une page Web 
dynamique.

Dans ce programme la Fonction F() dans les prints
permet d'économiser de la mémoire vive. 
---------------------------------*/

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

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // Adresse mac du shield 
IPAddress ip(172, 27, 11, 254); // Adresse Ip ( à changer en fonction de son réseaux )
EthernetServer server(80);  // ici on créer un serveur sur le port 80


String HTTP_req;            // on store la requete HTTP


void setup()
{
Serial.begin(9600);       // on démarre la liaison série a 9600 Bps

Serial.print(F("Parametrage avec ip fixe... : "));
   Serial.println(ip);
   delay(1000);
   // on paramètre la carte en IP FIXE 

  
    Ethernet.begin(mac, ip);  // Initialisation du shield Ethernet 
    Serial.println(F("Init..."));
    delay(1000); 
 
    server.begin();           // On démarre le serveur
    Serial.println(F("Serveur Prêt !"));
    delay(1000);
  
}

void loop()
{
    EthernetClient client = server.available();  // On essaye d'avoir des clients

    if (client) {  // Si un client est disponible
        boolean currentLineIsBlank = true;
        while (client.connected()) {     //  et qu'il est connecté
            if (client.available())     // et qu'il envoie des données
                      {  
                char c = client.read();  // lire 1 byte (character) du client
                HTTP_req += c;      // on sauvegarde les requette HTTP 1 char à la fois
                // la dernière ligne de la requette client est blanche et finit par \n
                // On repond au client seulement quand la dernière ligne est recue
                if (c == '\n' && currentLineIsBlank) {
                  
                    // envoyer un en-tête de réponse http standard
                    client.println(F("HTTP/1.1 200 OK"));
                    client.println(F("Content-Type: text/html"));
                    client.println(F("Connection: keep-alive"));
                    client.println(); // ligne indispensable
                     
                    // Requette AJAX pour les états 
                    if (HTTP_req.indexOf("ajax_analog") > -1) {
                        // lit l'état de l'entrée analogique 
                        GetAjaxData(client);
                    }
                    else {  // requette HTTP pour la page WEB
                        // envoie la page WEB - contient le JavaScrypt avec les appels AJAX
                        client.println(F("<!DOCTYPE HTML>"));
                        client.println(F("<html>"));
                        client.println(F("<head>"));
                        
                        // Balise Style contenant la mise en forme de la page
                        client.println(F("<style>"));
                        client.println(F("body {background-color: #ad836e;}"));
                        client.println(F("h1 {font-size: 3em; text-align: center;}"));
                        client.println(F("div {display: inline-block;}")); // permet de définir une balise div en inline 
                        client.println(F("h2 {font-size: 2em; border: 1px solid black; width: 500px; margin: auto; margin-bottom: 100px; padding-left: 150px;}"));
                        client.println(F("#time {line-height: 50px;}"));
                        client.println(F("</style>")); 
                        
                        client.println(F("<meta charset=\"utf-8\" />")); // encodage 
                        client.println(F("<title> MESURE D'UNE PIECE </title>"));
                        
                        // JavaScript permettant de refresh la div de température et d'humidité
                        client.println(F("<script>"));
                        client.println(F("function GetSwitchAnalogData() {"));
                        client.println(F("nocache = \"&nocache=\" + Math.random() * 1000000;"));
                        client.println(F("var request = new XMLHttpRequest();"));
                        client.println(F("request.onreadystatechange = function() {"));
                        client.println(F("if (this.readyState == 4) {"));
                        client.println(F("if (this.status == 200) {"));
                        client.println(F("if (this.responseText != null) {"));
                        client.println(F("document.getElementById(\"sw_an_data\").innerHTML = this.responseText;"));
                        client.println(F("}}}}"));
                        client.println(F("request.open(\"GET\", \"ajax_analog\" + nocache, true);"));
                        client.println(F("request.send(null);"));
                        client.println(F("setTimeout('GetSwitchAnalogData()', 1000);"));
                        client.println(F("}"));
                        client.println(F("</script>"));
                        
                        client.println(F("</head>"));
                        
                        client.println(F("<body onload=\"GetSwitchAnalogData()\" >"));
                        
                        client.println(F("<header>"));
                        client.println(F("<h1> Récupération des mesures de la pièce </h1>"));
                        client.println(F("</header>"));

                        client.println(F("
"));
                        
                        client.println(F("<section>"));
                        client.println(F("<h2> TEMPERATURE : <div id=\"sw_an_data\"></div> °C </h2> <H2> HUMIDITE : % </h2>")); // dans la div sera écrit la température
                    
                        client.println(F("<h2 id=\"time\"> DATES DES MESURES : <script type=\"text/javascript\" language=\"javascript\">"));
                        client.println(F("d = new Date();"));
                        client.println(F("document.write(d.toLocaleDateString()+'  '+d.toLocaleTimeString());"));
                        client.println(F("</script> </h2>"));
                        client.println(F("</section>"));

                        // pied de page 
                        client.println(F("<footer>"));
                        client.println(F("<p> Page Web réalisée par Quentin dans le cadre du stage de BTS </p>"));
                        client.println(F("</footer>"));
                                
                        client.println(F("</body>"));
                        client.println(F("</html>"));
                    }
                    
                    Serial.print(HTTP_req);    // Affiche les requette HTTP recue sur le port série
                    HTTP_req = "";            // finished with request, empty string
                    break;                    // sortir de la boucle
                }
                // toutes les lignes de textes recue par le client finissent par \r\n
                if (c  == '\n') {
                    // dernier caractère en ligne du texte reçu
                    // début de la nouvelle ligne avec le prochain caractère lu
                    currentLineIsBlank = true;
                } 
                else if (c != '\r') {
                    // un caractère de texte a été reçu du client
                    currentLineIsBlank = false;
                }
            } // end if (client.available())
        } // end while (client.connected())
        
        delay(1);      // On donne le temps au navigateur internet de recevoir les informations.
        client.stop(); // On ferme la connection
    } // end if (client)
}

// Envoie l'état de l'analogique au serveur web 
void GetAjaxData(EthernetClient cl)
{
    float temp;  
    
    temp = analogRead(0)*5/1024.0; // on lit le pin Analog 2 
    temp = temp -0.5; // Calibrage de la température à 0°C car à 0°C le capteur délivre 500mV
    temp = temp/0.01; // 10mV par °C 

    cl.print(temp); // écrit la valeur de l'analog sur la div

}