Bonjour,
j'ai ouvert une discussion sur le forum Micropython (https://github.com/orgs/micropython/discussions/13529) qui ne m'a pas donner de réponse.
Comme cela m'a été suggéré, j'ai fait une maquette en Python/Flask équivalente à mon projet pour des tests.
Ma question est la suivante : comment interagit Fetch avec Flask dans le cas présenté.
Il n'y a pas de gestion de la réponse ni des datas

Code Python:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
from flask import Flask, render_template
app = Flask(__name__)
 
led=False
 
def toggle():
    global led
    if led:
        print ("Led ON")
    else:
        print ("Led OFF")
    led=not led
    return  
 
@app.route('/')
def index():
    return render_template('index.html',led_value=led)
 
@app.route('/toggle')
def toggle_led():
    print("Receive Toggle Request!")
    led_value=toggle()
    return "OK"
 
app.run()
Code index.js
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
function toggleButtonSwitch() {
  fetch("/toggle");
  return;
}

Code index.html
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!DOCTYPE html>
<html>
  <head>
    <script type=text/javascript src="{{ url_for('static', filename= 'js/index.js')}}"></script>
  </head>
  <body>
        <h1>MicroPython Webserver</h1>
        <div>
          <p>Toggle Switch</p>
          <input type="checkbox" id="switch" onclick="toggleButtonSwitch()" {%
          if led_value == 1 %} checked {% endif %}/><label for="switch"
            >Toggle</label>
        </div>
  </body>
</html>

Si quelqu'un a une explication (simple), je suis preneur
Merci d'avance