   }
   sensors.setResolution(insideThermometer, 12);// 9 ou 12 9 plus rapide mais moin prÃ©Ã§is
   MDNS.begin("lumiere");
+  ArduinoOTA.setHostname("lumiere");
+  ArduinoOTA.setPasswordHash("password");
+  ArduinoOTA
+  .onStart([]() {
+    String type;
+    if (ArduinoOTA.getCommand() == U_FLASH)
+      type = "sketch";
+    else // U_SPIFFS
+      type = "filesystem";
+
+    // NOTE: if updating SPIFFS this would be the place to unmount SPIFFS using SPIFFS.end()
+    Serial.println("Start updating " + type);
+  })
+  .onEnd([]() {
+    Serial.println("\nEnd");
+  })
+  .onProgress([](unsigned int progress, unsigned int total) {
+    Serial.printf("Progress: %u%%\r", (progress / (total / 100)));
+  })
+  .onError([](ota_error_t error) {
+    Serial.printf("Error[%u]: ", error);
+    if (error == OTA_AUTH_ERROR) Serial.println("Auth Failed");
+    else if (error == OTA_BEGIN_ERROR) Serial.println("Begin Failed");
+    else if (error == OTA_CONNECT_ERROR) Serial.println("Connect Failed");
+    else if (error == OTA_RECEIVE_ERROR) Serial.println("Receive Failed");
+    else if (error == OTA_END_ERROR) Serial.println("End Failed");
+  });
   server.on("/", handleRoot);
   server.on("/setup", handleSetup);
   server.on("/leds", handleLeds);

      latemp();
    }
  }
  ArduinoOTA.handle();
  vTaskDelay( 100 / portTICK_PERIOD_MS ); // wait / yield time to other tasks
  server.handleClient();
}


  server.begin();
  Serial.println("Web server started visit http://lumiere.local");
  MDNS.addService("_http", "_tcp", 80);
  ArduinoOTA.begin();
  delay(100);
}

void ladentbleu() {
  while (SerialBT.available()) {
    delay(10);
    if (SerialBT.available() > 0) {
      char c = SerialBT.read();
      readString += c;
    }
  }
}

void loop() {
  if (SerialBT.available()) {
    readString = "";
    ladentbleu();
    String lacmd = readString.substring(0, 1);
    if (lacmd == "#") {
      String execca = readString.substring(0, 7);


      if (execca != 0) {
        derncoul = execca;
        long number = strtol( &execca[1], NULL, 16);
        r = number >> 16;
        g = number >> 8 & 0xFF;
        b = number & 0xFF;
        preferences.putString("derncoul", derncoul);
        if (r != rouge) {
          String sortie = "Red = ";
          sortie += r;
          logeurln(sortie);
          dernadd = "BT";
          flashoufade = 0;
          preferences.putUInt("r", r);
        }
        if (g != vert) {
          String sortie = "Green = ";
          sortie += g;
          logeurln(sortie);
          dernadd = "BT";
          flashoufade = 0;
          preferences.putUInt("g", g);
        }
        if (b != bleu) {
          String sortie = "Blue = ";
          sortie += b;
          logeurln(sortie);
          dernadd = "BT";
          flashoufade = 0;
          preferences.putUInt("b", b);
        }
      }


    }
  }
  unsigned long currentMillis = millis();
  if (currentMillis - previousMillis >= interval) {
    previousMillis = currentMillis;
