// import des librairies
#include <ESP8266WiFi.h>               // pour la gestion du wifi    
#include <ESP8266WebServer.h>          // pour créer un serveur web

// vos identifiants réseau
const charssid "XXXX";             // votre SSID   
const charpassword "YYYY";         // votre cle WIFI

ESP8266WebServer serveur(80);          // on instance un serveur web nommé serveur accessible sur le port 80

// la fonction appelé dés qu'on ouvre la page d'accueil du serveur (un simple texte qui nous dit quelle page appelé pour faire quoi)
void handleRoot() {  
  serveur.send(200"text/plain""Ajouter /ON ou /OFF a l'URL pour allumer ou eteindre la led\n");  
}

// la fonction allume 
void allume() {
  digitalWrite(LED_BUILTINLOW);               // on allume la led interne du nodeMCU
  serveur.send(200"text/plain""led ON");    // on écrit sur la page web
}

// la fonction eteint
void eteint() {
  digitalWrite(LED_BUILTINHIGH);              // on eteint la led interne du nodeMCU
  serveur.send(200"text/plain""led OFF");   // on écrit sur la page web
}

// le setup
void setup(void){  
  pinMode(LED_BUILTINOUTPUT);                 // on met la led interne du NodeMCU en sortie
  digitalWrite(LED_BUILTINHIGH);              // on l'active pour l'éteindre (l'inverse du led branché sur un gpio)
  Serial.begin(115200);                         // on ouvre la come série
  WiFi.begin(ssidpassword);                   // on se connecte au réseau
  Serial.println();    
  while (WiFi.status() != WL_CONNECTED) {       // on attend d'être connecté
    delay(500);
    Serial.print(".");
  }       
  Serial.println();                             // on donne les infos du réseau
  Serial.print("Connecté à ");
  Serial.println(ssid);
  Serial.print("Addresse IP : ");
  Serial.println(WiFi.localIP());      
  serveur.on("/"handleRoot);                  // on associe la fonction handleRoot a la racine du serveur web  
  serveur.on("/ON"allume);                    // on associe la fonction allume a la page /ON du serveur  
  serveur.on("/OFF"eteint);                   // on associe la fonction eteint a la page /OFF du serveur  
  serveur.begin();                              // on démarre le serveur web  
  Serial.print("Pour allumer ou eteindre la LED : ");
  Serial.print(WiFi.localIP());
  Serial.print("/ON ou ");
  Serial.print(WiFi.localIP());
  Serial.println("/OFF");
}

// la boucle
void loop(void){
  serveur.handleClient();   // on lance l'écoute d'un client (une connexion au serveur)
}