<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Fittrackee on Blog GoHugo de Fredô : Linux, Proxmox, IA, Trail, Course, Randonnée, Gravel, Ski de Randonnée</title>
    <link>https://move.cyber-neurones.org/tags/fittrackee/</link>
    <description>Recent content in Fittrackee on Blog GoHugo de Fredô : Linux, Proxmox, IA, Trail, Course, Randonnée, Gravel, Ski de Randonnée</description>
    <generator>Hugo</generator>
    <language>fr</language>
    <lastBuildDate>Mon, 07 Jul 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://move.cyber-neurones.org/tags/fittrackee/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>FitTrackee : Enfin j&#39;ai fixé le problème.</title>
      <link>https://move.cyber-neurones.org/post/2025/07/2025-07-07-fittrackee-enfin-jai-fixe-le-probleme/</link>
      <pubDate>Mon, 07 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://move.cyber-neurones.org/post/2025/07/2025-07-07-fittrackee-enfin-jai-fixe-le-probleme/</guid>
      <description>&lt;p&gt;Mon instance FitTrackee est UP à nouveau : &lt;a href=&#34;https://fit.cyber-neurones.org/&#34;&gt;https://fit.cyber-neurones.org/&lt;/a&gt; Mon env.cfg :&lt;/p&gt;&#xA;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;export FLASK_SKIP_DOTENV=1&#xA;export HOST=0.0.0.0&#xA;export PORT=5000&#xA;export CLIENT_PORT=3000&#xA;export APP_SECRET_KEY=...&#xA;export APP_LOG=/home/XXXX/fittrackee/fittrackee.log&#xA;export UPLOAD_FOLDER=/home/XXXX/fittrackee/uploads&#xA;export DATABASE_URL=postgresql://fittrackee:XXXXXXX@localhost:5433/fittrackee&#xA;export UI_URL=https://fit.cyber-neurones.org/&#xA;export DEFAULT_STATICMAP=False&#xA;export STATICMAP_CACHE_DIR=/home/XXXX/fittrackee/staticmap_cache&#xA;#export TILE_SERVER_URL=https://tile.openstreetmap.org/{z}/{x}/{y}.png&#xA;#export TILE_SERVER_URL=https://a.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png&#xA;#export MAP_ATTRIBUTION=&amp;#39;OpenStreetMap contributors&amp;#39;&#xA;export TILE_SERVER_URL=https://tile.thunderforest.com/outdoors/{z}/{x}/{y}.png?apikey=XXXXXXXXXX&#xA;export MAP_ATTRIBUTION=&amp;#39;Thunderforest&amp;#39;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Il m&amp;rsquo;a fallu ajouter STATICMAP_CACHE_DIR pour fixé le problème.&lt;/p&gt;&#xA;&lt;p&gt;Dans les logs j&amp;rsquo;ai testé 3 configurations du TILE_SERVER_URL mais à chaque fois j&amp;rsquo;avais la même erreur :&lt;/p&gt;&#xA;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;....&#xA;2025/07/06 17:19:11 - staticmap3.staticmap - ERROR - request failed [None]: https://c.tile.openstreetmap.fr/osmfr/11/1065/748.png&#xA;...&#xA;2025/07/06 17:42:18 - staticmap3.staticmap - ERROR - request failed [None]: https://tile.openstreetmap.org/17/67885/47864.png&#xA;...&#xA;2025/07/06 18:17:33 - staticmap3.staticmap - ERROR - request failed [None]: https://tile.thunderforest.com/outdoors/17/67885/47863.png?apikey=....&#xA;...&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;En fait l&amp;rsquo;erreur indiquer un problème d&amp;rsquo;enregistrement et pas un problème de téléchargement.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mise à jours de FitTrackee &amp; Wanderer</title>
      <link>https://move.cyber-neurones.org/post/2025/06/2025-06-21-mise-a-jours-de-fittrackee-wanderer/</link>
      <pubDate>Sat, 21 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://move.cyber-neurones.org/post/2025/06/2025-06-21-mise-a-jours-de-fittrackee-wanderer/</guid>
      <description>&lt;p&gt;&lt;strong&gt;FitTrackee&lt;/strong&gt; ( Passage en version v0.10.3 ) : &lt;a href=&#34;https://fit.cyber-neurones.org/&#34;&gt;https://fit.cyber-neurones.org/&lt;/a&gt; Suite à la mise à jours, impossible de faire la synchronisation. J&amp;rsquo;ai pas encore compris &amp;hellip; en plus je suis en dernière version, donc dans le message &amp;ldquo;Please update&amp;rdquo;.&lt;/p&gt;&#xA;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;ERROR    Fittrackee instance isn&amp;#39;t supported. Please update your Fittrackee instance main fittrackee&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;&lt;strong&gt;Wanderer&lt;/strong&gt; ( Passage en version v0.17.0 ) : &lt;a href=&#34;https://aventures.cyber-neurones.org/&#34;&gt;https://aventures.cyber-neurones.org/&lt;/a&gt; Après la mise à jours&lt;/p&gt;&#xA;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt; 500 Internal Error &lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Par moment je sais pas pourquoi je fais des mises à jours.&lt;/p&gt;</description>
    </item>
    <item>
      <title>FitTrackee : Les manques</title>
      <link>https://move.cyber-neurones.org/post/2025/04/2025-04-28-fittrackee-les-manques/</link>
      <pubDate>Mon, 28 Apr 2025 00:00:00 +0000</pubDate>
      <guid>https://move.cyber-neurones.org/post/2025/04/2025-04-28-fittrackee-les-manques/</guid>
      <description>&lt;p&gt;Pour moi voici les manques :&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Stockage du rythme cardiaque.&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Pas de calcul du &lt;strong&gt;TRIMP&lt;/strong&gt;:  &lt;a href=&#34;https://www.sportifeo.com/blog/charge-entrainement/le-trimp-pour-suivre-la-charge-dentrainement/&#34;&gt;TRIMP&lt;/a&gt; = T (min) * k * IFC avec :&#xA;&lt;ul&gt;&#xA;&lt;li&gt;T le temps de l&amp;rsquo;entrainement en minutes&lt;/li&gt;&#xA;&lt;li&gt;k le facteur de pondération&lt;/li&gt;&#xA;&lt;li&gt;IFC l&amp;rsquo;intensité de l&amp;rsquo;exercice avec la fréquence cardiaque.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Pas de partage des activités (Mastodon &amp;amp; BlueSky).&lt;/li&gt;&#xA;&lt;li&gt;Pas de photo pour les activités.(1 à 5 .. pas plus).&lt;/li&gt;&#xA;&lt;li&gt;Pas d&amp;rsquo;intégration de tous les sports, il me manque : Tennis, &lt;strong&gt;Yoga&lt;/strong&gt;, &lt;a href=&#34;https://fr.wikipedia.org/wiki/Padel&#34;&gt;Padel&lt;/a&gt;, &lt;strong&gt;Musculation&lt;/strong&gt;, &lt;a href=&#34;https://fr.wikipedia.org/wiki/Surf&#34;&gt;Surf&lt;/a&gt; (&lt;em&gt;surf-riding&lt;/em&gt;), Ergomètre, Tapis de Course, Vélo elliptique &amp;hellip;.&lt;/li&gt;&#xA;&lt;li&gt;Stockage du poids et courbe sur le suivi.&lt;/li&gt;&#xA;&lt;li&gt;Ajout de mots clés : Compétition, ITRA, &amp;hellip;&lt;/li&gt;&#xA;&lt;li&gt;Partage d&amp;rsquo;une activitée avec un(e) ami(e).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Très bon logiciel à suivre :&lt;/p&gt;</description>
    </item>
    <item>
      <title>FitTrackee &amp; Apache 2 : Problème OAuth 2.0</title>
      <link>https://move.cyber-neurones.org/post/2025/04/2025-04-27-fittrackee-apache-2-probleme-oauth-2-0/</link>
      <pubDate>Sun, 27 Apr 2025 00:00:00 +0000</pubDate>
      <guid>https://move.cyber-neurones.org/post/2025/04/2025-04-27-fittrackee-apache-2-probleme-oauth-2-0/</guid>
      <description>&lt;p&gt;J&amp;rsquo;avais un problème avec le soft : &lt;a href=&#34;https://github.com/Dryusdan/garmin-to-fittrackee&#34;&gt;https://github.com/Dryusdan/garmin-to-fittrackee&lt;/a&gt; .&lt;/p&gt;&#xA;&lt;p&gt;En fait c&amp;rsquo;était un problème de configuration sur apache2 (qui me permet de faire la gestion des certificats), j&amp;rsquo;ai donc fait :&lt;/p&gt;&#xA;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;# /usr/sbin/a2enmod headers&#xA;Enabling module headers.&#xA;To activate the new configuration, you need to run:&#xA;  systemctl restart apache2&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Ajout d&amp;rsquo;un paramètre dans mon fichier de conf&lt;/p&gt;&#xA;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;lt;VirtualHost&amp;gt;&#xA;&amp;lt;IfModule&amp;gt;&#xA;...&#xA;RequestHeader set X-Forwarded-Proto &amp;#34;https&amp;#34;&#xA;...&#xA;ErrorLog ${APACHE_LOG_DIR}/error.fit-ssl.log&#xA;CustomLog ${APACHE_LOG_DIR}/access.fit-ssl.log combined&#xA;...&#xA;Include /etc/letsencrypt/options-ssl-apache.conf&#xA;SSLCertificateFile /etc/letsencrypt/live/fit.cyber-neurones.org/fullchain.pem&#xA;SSLCertificateKeyFile /etc/letsencrypt/live/fit.cyber-neurones.org/privkey.pem&#xA;&amp;lt;/VirtualHost&amp;gt;&#xA;&amp;lt;/IfModule&amp;gt;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Pour finir :&lt;/p&gt;</description>
    </item>
    <item>
      <title>J&#39;ai testé FitTrackee pour vous .</title>
      <link>https://move.cyber-neurones.org/post/2025/04/2025-04-19-jai-teste-fittrackee-pour-vous/</link>
      <pubDate>Sat, 19 Apr 2025 00:00:00 +0000</pubDate>
      <guid>https://move.cyber-neurones.org/post/2025/04/2025-04-19-jai-teste-fittrackee-pour-vous/</guid>
      <description>&lt;p&gt;J&amp;rsquo;ai longtemps hésité entre FitTrackee ( &lt;a href=&#34;https://github.com/SamR1/FitTrackee&#34;&gt;https://github.com/SamR1/FitTrackee&lt;/a&gt; ) et &lt;strong&gt;&lt;a href=&#34;https://github.com/jovandeginste/workout-tracker&#34;&gt;workout-tracker&lt;/a&gt;&lt;/strong&gt; ( &lt;a href=&#34;https://github.com/jovandeginste/workout-tracker&#34;&gt;https://github.com/jovandeginste/workout-tracker&lt;/a&gt;  )&lt;/p&gt;&#xA;&lt;p&gt;Et je voulais la synchronisation automatique ( Garmin ou Strava ), donc j&amp;rsquo;ai pris FitTrackee :&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Voir : &lt;a href=&#34;https://github.com/jat255/strava-to-fittrackee&#34;&gt;https://github.com/jat255/strava-to-fittrackee&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;J&amp;rsquo;ai donc monté une VM sur mon proxmox, pas trop de problème pour faire l&amp;rsquo;installation. Sauf qu&amp;rsquo;il était impossible de faire fonctionner la synchronisation :&lt;/p&gt;&#xA;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Traceback (most recent call last):&#xA;  File &amp;#34;fittrackee_venv/lib/python3.11/site-packages/flask/app.py&amp;#34;, line 1511, in wsgi_app&#xA;    response = self.full_dispatch_request()&#xA;               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^&#xA;  File &amp;#34;fittrackee_venv/lib/python3.11/site-packages/flask/app.py&amp;#34;, line 919, in full_dispatch_request&#xA;    rv = self.handle_user_exception(e)&#xA;         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^&#xA;  File &amp;#34;fittrackee_venv/lib/python3.11/site-packages/flask/app.py&amp;#34;, line 917, in full_dispatch_request&#xA;    rv = self.dispatch_request()&#xA;         ^^^^^^^^^^^^^^^^^^^^^^^&#xA;  File &amp;#34;/fittrackee_venv/lib/python3.11/site-packages/flask/app.py&amp;#34;, line 902, in dispatch_request&#xA;    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]&#xA;           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^&#xA;  File &amp;#34;fittrackee_venv/lib/python3.11/site-packages/fittrackee/oauth2/resource_protector.py&amp;#34;, line 103, in decorated&#xA;    return f(auth_user, *args, **kwargs)&#xA;           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^&#xA;  File &amp;#34;fittrackee_venv/lib/python3.11/site-packages/fittrackee/oauth2/routes.py&amp;#34;, line 570, in authorize&#xA;    response = authorization_server.create_authorization_response(&#xA;               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^&#xA;  File &amp;#34;fittrackee_venv/lib/python3.11/site-packages/authlib/oauth2/rfc6749/authorization_server.py&amp;#34;, line 288, in create_authorization_response&#xA;    request = self.create_oauth2_request(request)&#xA;              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^&#xA;  File &amp;#34;fittrackee_venv/lib/python3.11/site-packages/authlib/integrations/flask_oauth2/authorization_server.py&amp;#34;, line 75, in create_oauth2_request&#xA;    return FlaskOAuth2Request(flask_req)&#xA;           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^&#xA;  File &amp;#34;fittrackee_venv/lib/python3.11/site-packages/authlib/integrations/flask_oauth2/requests.py&amp;#34;, &#xA;line 12, in __init__&#xA;    super().__init__(request.method, request.url, None, request.headers)&#xA;  File &amp;#34;fittrackee_venv/lib/python3.11/site-packages/authlib/oauth2/rfc6749/requests.py&amp;#34;, line 12, in __init__&#xA;    InsecureTransportError.check(uri)&#xA;  File &amp;#34;fittrackee_venv/lib/python3.11/site-packages/authlib/oauth2/rfc6749/errors.py&amp;#34;, line 65, in check&#xA;    raise cls()&#xA;authlib.oauth2.rfc6749.errors.InsecureTransportError: insecure_transport: OAuth 2 MUST utilize https.&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;J&amp;rsquo;ai pourtant bien mon url en HTTPS. Ensuite j&amp;rsquo;ai voulu mettre dans env.cfg&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
