#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
const char* ssid = "ssid";         
const char* mot_de_passe = "mot_de_passe";
ESP8266WebServer serveur_web(80);
int broche = 12;
bool etat_led = LOW;


void setup() {
  pinMode(broche, OUTPUT);
  digitalWrite(broche, etat_led);
  Serial.begin(74880);
  connexion_reseau();
  serveur_web.on("/on", LedOn); 
  serveur_web.on("/off", LedOff);
  serveur_web.on("/changement", changement);  
  serveur_web.on("/", memoire);   
  serveur_web.begin(); 
  Serial.println("Le serveur Web a démarré");
}

void connexion_reseau(){
  delay(10);  
  Serial.print("Tentative de connexion: "); 
  Serial.println(ssid); 
  WiFi.begin(ssid, mot_de_passe);  
  while (WiFi.status() != WL_CONNECTED) { 
    delay(500); 
    Serial.print("."); 
  } 
  Serial.println("Connexion au réseau Wi-Fi réalisée"); 
  Serial.println("L'adresse IP est: "); 
  Serial.println(WiFi.localIP());
}
void loop() {
  serveur_web.handleClient();
}

void LedOn(){
  etat_led = HIGH;
  digitalWrite(broche, etat_led);
  serveur_web.send(200, "text/plain", "LED allum&eacute;e");
}

void LedOff(){
  etat_led = LOW;
  digitalWrite(broche, etat_led);
  serveur_web.send(200, "text/plain", "LED éteinte");
}

void changement(){
  etat_led = !etat_led;
  digitalWrite(broche, etat_led);
  serveur_web.send(200, "text/plain", "La Led a inversé son état");
}

void memoire(){
  int   memoire_disponible = ESP.getFreeHeap();
  serveur_web.send(200, "text/plain", String(memoire_disponible));
}
