# Fonction principale
def web_page():
  valeur_mesure = capteur.read() #faire une mesure chaque 1000ms
  tension = (valeur_mesure*3.3)/4096 # la Tension Vs en sortie de la LDR
  RLDR = calculate_R_LDR(tension, R) # Calculer la valeur de la Resistance LDR
  lux = calculate_LUX(RLDR, GAMMA, R_Lux10)
  html = """
    <html>
        <head>
            <meta name="viewport" content="width=device-width, initial-scale=1" http-equiv="refresh" content="1">
            <title>ESP32 Serveur Web</title>
            <style>
                p { font-size: 36px; }
            </style>
        </head>
        <body>
            <h1>Niveau de luminosité</h1>
            <p><span>%s</span></p>
        </body>
    </html>
    """ % (led_state)
  return html
#****************************************
     
def main():

    # Demander à l'utilisateur de choisir entre le Mode AP ou client
    #mode_f = input("Veuillez Saisir 1 -> (Mode ACCESS PONT) & 2 -> (Mode Client) : ")
    try:
        #mode_f = int(mode_f)
        mode_f = 1
        if(mode_f == 1):
            accesspoint_wifi() #executer le mode access point
        elif(mode_f == 2):
            connect_wifi() # executer le mode client
        else:
            print("Veuillez entrer une valeur valide.")
    except:
        print("Veuillez entrer une valeur valide.")
    
    
    # Créer une socket TCP
    server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    server_socket.bind(('', 80))
    server_socket.listen(5)

    while True:
        try :
            conn, addr = server_socket.accept()
            print(' Connexion de client -> %s' % str(addr))
            request = conn.recv(1024)
            # Analyser la requete :
            print('Content -> %s' % str(request))
            #valeur = str(request)
            #print(valeur.find('led=off'))
            #Réponse du serveur Web****************************
            response = web_page()
            conn.send('HTTP/1.1 200 OK\n')
            conn.send('Content-Type: text/html\n')
            conn.send('Connection: close\n\n')
            conn.sendall(response)
        except Exception as e:
            print(f'Erreur lors de la communication avec le client {str(addr)} : {e}')
        finally:
            # Fermer la connexion du client avec le serveur
            conn.close()

if __name__ == "__main__":
    main()