Petit problème suir page HTML avec arduino

Bonjour, je voudrai un peu d'aide, j'aimerai que les noms sur ma page soient différent, je m'explique comme vous pouvez le constater sur le screenshot il y a écrits lampe chauffante deux fois mais j'aimerai qu'il y ai écrits lampe chauffante et à la place de l'autre arroseur mais je n'y arrive pas quand j'essaye il y a écrits deux fois lampe chauffante et deux fois arroseur voici mon code et auriez vous une solution à mon problème svp ? :slight_smile:

#include <Ethernet2.h>
#include <SPI.h>

byte mac[] = {0x**, 0x**, 0x**, 0x**, 0x**, 0x**}; //adresse mac de votre carte
byte ip[] = {**,***,**,*}; //adresse IP
unsigned long tpsDep; //temps départ pour la gestion des LED
int pinLed[2] = {2, 3}; //tableau des pins de LED
boolean etatLed[2] = {0, 0}; //tableau des états des LED
int modeLed[2] = {0, 0}; // tableau des modes des LED
EthernetServer serveur(80); // déclare l'objet serveur au port d'écoute 80

void setup() {
 for (int l = 0; l < 2; l++) {
   pinMode(pinLed[l], OUTPUT);
 }
 Serial.begin (9600); //initialisation de communication série
 Ethernet.begin (mac, ip); //initialisation de la communication Ethernet
 Serial.print("*\n-> Le serveur est sur l'adresse : ");
 Serial.println(Ethernet.localIP()); //on affiche l'adresse IP de la connexion
 serveur.begin(); // démarre l'écoute
}

void loop() {
 gestionClient(); // fonction qui gère toute la communication avec le client
 gestionLed(); // fonction qui gère l'allumage des LED
}

//----------------------Fonctions----------------------
//fonction qui gère la communication avec le client
void gestionClient() {
 EthernetClient client = serveur.available(); //on écoute le port
 if (client) { //si client existe
   Serial.println("Client en ligne"); //on le dit...
   if (client.connected()) { // si le client est connecté
     GET(client); //appel de la fonction de décodage
     //réponse au client
     entete(client); // fonction pour l'entête de la page HTML
     corps(client); // fonction pour le corps
     piedPage(client); // fonction pour le pied de page
     Serial.println("Fin de communication avec le client\n");
     client.stop(); //on déconnecte le client
   }
 }
}
//fonction de fabrication de l'entête HTML
void entete(EthernetClient cl) {
 //infos pour le navigateur
 cl.println("HTTP/1.1 200 OK"); // type du HTML
 cl.println("Content-Type: text/html; charset=ascii"); //type de fichier et encodage des caractères
 cl.println("Connection: close");  // fermeture de la connexion quand toute la réponse sera envoyée
 cl.println();
 //balises d'entête
 cl.println("<!DOCTYPE HTML>");
 cl.println("<html>");
 cl.println("<head><title>Commande de LEDS</title></head>");
 cl.println("<body><h1>Commande de LEDS</h1><hr>
");
}
//fonction de fabrication du corps de page
void corps(EthernetClient cl) {
 cl.println("
"); // saut de ligne
 //boucle pour construire chaque ligne en fonction des LED
 for (int l = 0; l < 2; l++) {
   cl.print("
LampeChauffante ");
   cl.print(1);
   cl.print(" ");
   Serial.println(l);
   switch (modeLed[l]) {
     case 0:
       cl.print("OFF ");
       break;
     case 1:
       cl.print("ON ");
       break;
   }
   
   
   cl.print(" <a href=?"); //création du lien inutile de répéter l'adresse du site
   cl.print(l);
   cl.println(" target=_self >Changer l'etat</a>
");
 }
}
//fonction de fabrication du pied de page
void piedPage(EthernetClient cl) {
 //balises de pied de page
 cl.println("
<hr>");
 cl.println("</body>");
 cl.println("</html>");
}
//fonctin décodage GET
void GET(EthernetClient cl) {
 boolean lu = 0; //variable pour indiquer l'état de lecture
 while (cl.available()) { // tant qu'il a des infos à transmettre
   char c = cl.read(); // on lit le caractère
   delay(1); //delai de lecture
   if (c == '?' && lu == 0) { //si "?" repéré
     c = cl.read(); //on lit le caractère suivant qui contient la donnée
     int led = int(c) - 48; //on la transforme en nombre
     modeLed[led] = (modeLed[led] + 1) % 2; //on change l'état de la LED
     delay(10);
     lu = 1; // on dit qu'on a lu l'info
   }

 }
}
//fonction d'allumage des LED par rapport au tableau de mode.
void gestionLed() {
 unsigned long tpsAct = millis(); // récupération du temps actuel
 if (tpsAct - tpsDep > 250) { //si délai dépassé
   for (int l = 0; l < 2; l++) { // chaque LED
     if (modeLed[l] == 0) { // si mode éteint
       etatLed[l] = 0; // on éteind
     }
     else if (modeLed[l] == 1) {// si mode allumé
       etatLed[l] = 1; //on allume
     }
     
     digitalWrite(pinLed[l], etatLed[l]); //on met le pin à jour
     tpsDep = tpsAct; //on réinitialise le temps
   }
 }
}

est ce que la solution serai de dédoubler ?

Capture.PNG

bonjour,
code entre balise code </> édite ton post

il y a écrits lampe chauffante deux fois

 for (int l = 0; l < 2; l++) {
    cl.print("
LampeChauffante ");

C'est bon :slight_smile: