J’ai testé FitTrackee pour vous .

J’ai longtemps hésité entre FitTrackee ( https://github.com/SamR1/FitTrackee ) et workout-tracker ( https://github.com/jovandeginste/workout-tracker  )

Et je voulais la synchronisation automatique ( Garmin ou Strava ), donc j’ai pris FitTrackee :

J’ai donc monté une VM sur mon proxmox, pas trop de problème pour faire l’installation. Sauf qu’il était impossible de faire fonctionner la synchronisation :

Traceback (most recent call last):
  File "fittrackee_venv/lib/python3.11/site-packages/flask/app.py", line 1511, in wsgi_app
    response = self.full_dispatch_request()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "fittrackee_venv/lib/python3.11/site-packages/flask/app.py", line 919, in full_dispatch_request
    rv = self.handle_user_exception(e)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "fittrackee_venv/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request
    rv = self.dispatch_request()
         ^^^^^^^^^^^^^^^^^^^^^^^
  File "/fittrackee_venv/lib/python3.11/site-packages/flask/app.py", line 902, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "fittrackee_venv/lib/python3.11/site-packages/fittrackee/oauth2/resource_protector.py", line 103, in decorated
    return f(auth_user, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "fittrackee_venv/lib/python3.11/site-packages/fittrackee/oauth2/routes.py", line 570, in authorize
    response = authorization_server.create_authorization_response(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "fittrackee_venv/lib/python3.11/site-packages/authlib/oauth2/rfc6749/authorization_server.py", line 288, in create_authorization_response
    request = self.create_oauth2_request(request)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "fittrackee_venv/lib/python3.11/site-packages/authlib/integrations/flask_oauth2/authorization_server.py", line 75, in create_oauth2_request
    return FlaskOAuth2Request(flask_req)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "fittrackee_venv/lib/python3.11/site-packages/authlib/integrations/flask_oauth2/requests.py", 
line 12, in __init__
    super().__init__(request.method, request.url, None, request.headers)
  File "fittrackee_venv/lib/python3.11/site-packages/authlib/oauth2/rfc6749/requests.py", line 12, in __init__
    InsecureTransportError.check(uri)
  File "fittrackee_venv/lib/python3.11/site-packages/authlib/oauth2/rfc6749/errors.py", line 65, in check
    raise cls()
authlib.oauth2.rfc6749.errors.InsecureTransportError: insecure_transport: OAuth 2 MUST utilize https.

J’ai pourtant bien mon url en HTTPS. Ensuite j’ai voulu mettre dans env.cfg

export OAUTHLIB_INSECURE_TRANSPORT=True
export OAUTHLIB_INSECURE_TRANSPORT=1

Pas mieux .

Bref, je vais devoir trouver mieux.