'piedPage' was not declared in this scope

hello,
First sorry for the french language but i have a problem, and error comme but i didn’t have idee why
Can you help me ?

" ‘piedPage’ was not declared in this scope "

#include <SPI.h> //bibliothèqe pour SPI
#include <Ethernet.h> //bibliothèque pour Ethernet

byte mac[] = {0x90, 0xA2, 0xDA, 0x0F, 0xDF, 0xAB}; //adresse mac de votre carte
byte ip[] = {192, 168, 0, 40}; //adresse IP
EthernetServer serveur(80); // déclare l'objet serveur au port d'écoute 80

void setup() {
  Serial.begin (115200); //initialisation de communication série
  Ethernet.begin (mac, ip); //initialisation de la communication Ethernet
  Serial.print("\nLe serveur est sur l'adresse : ");
  Serial.println(Ethernet.localIP()); //on affiche l'adresse IP de la connexion
  serveur.begin(); // démarre l'écoute
  Serial.println("le serveur est démarrer");

}

void loop() {
  gestionClient(); // fonction qui gère toute la communication avec le client
}

//----------------------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é
      //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>Serre connecte</title></head>");
  cl.println("<body><h1>Serre connecte</h1><hr>
");
}
//fonction qui gére le corp html
void corps(EthernetClient cl){
  cl.println("<h2>Affichage des valeur mesure</h2>");
  cl.println("Capteur d'humidite et de temperature");
  cl.println("
");
  gestionCapteur1(); // fonction pour afficher la valeur mesuré
  }
}

//fonction de fabrication du pied de page
void piedPage(EthernetClient cl){
  cl.println("
<hr>");
  cl.println("</body>");
  cl.println("</html>");
}

void gestionCapteur1(EthernetClient cl){
  int val = analogRead(A0);
    cl.println("Temperature :");
    cl.print(val);
    cl.print("°C");
    cl.println("Humidite :");
    cl.print(val);
    cl.print("%");
}

"corps" appears to have too many }

Tanks you i just didn’t see it

A very helpful troubleshooting tool is the Auto Format feature (Tools > Auto Format in the Arduino IDE or Ctrl + B in the Arduino Web Editor). If you do an Auto Format and then compare the resulting indentation to your intended program structure, it will quickly point you to where there is a missing or extra brace.

Another useful feature of the Arduino IDE/Arduino Web Editor is that when you place the cursor next to one bracket, it puts a box around the matching bracket. In the Arduino IDE, if the cursor is next to the closing bracket and the opening bracket is off the screen then it will show the opening bracket line in a tool tip after a short delay.