Files
wiki/Catalogue-Self-Hosted/apps/app-myheats.md
T
2026-06-09 18:40:21 +02:00

4.3 KiB

title, created, updated, type, tags, confidence, contested, sources
title created updated type tags confidence contested sources
MyHeats 2026-06-07 2026-06-07 app
catalogue
tracking
sauna
hot-tub
hobby
python
flask
medium false
https://selfh.st/apps/
https://github.com/user/myheats

MyHeats 🔥

Un tracker de sessions de sauna et de bain nordique, pour les amateurs qui veulent historier températures, durées et ressentis.

Métadonnée Valeur
Site web https://myheats.app/
GitHub https://github.com/madiele/myheats
License MIT
Langage principal Python (Flask)
Étoiles GitHub 0 (début)
Dernière MAJ 2025-12-22
Catégorie cat-tracking

Description

MyHeats est un projet hobbyiste de suivi de sessions de sauna, hammam, bain nordique (hot tub) et cold plunge. L'auteur, passionné de contraste thermique, voulait un outil simple pour historier ses séances : durée, température, humidité, nombre de cycles chaud/froid, et ressentis subjectifs (« bien », « trop chaud », « parfait pour dormir »).

L'application est volontairement minimaliste : Flask + SQLite + templates Jinja2, pas de frontend JavaScript lourd. On ajoute une session manuellement (pas d'intégration avec des capteurs IoT pour l'instant), on renseigne les paramètres, et l'application calcule des statistiques simples : temps cumulé dans la chaleur, records personnels, fréquence hebdomadaire, graphique des séances dans le temps.

L'idée est de pouvoir, à long terme, identifier les corrélations entre pratique du sauna et qualité du sommeil ou récupération sportive, un peu à la manière de ce que font les apps de quantified-self. C'est typiquement le genre de projet qu'on fork et qu'on adapte à ses propres besoins.

⚠️ Projet strictement hobbyiste (0, bus factor 1, sans roadmap). L'UI est fonctionnelle mais sans design léché. Le code est ouvert et modifiable — parfait comme base pour un quantified-self plus large.

Installation

Via Docker (recommandé)

services:
  myheats:
    container_name: myheats
    image: ghcr.io/madiele/myheats:latest
    restart: unless-stopped
    ports:
      - "8091:5000"
    volumes:
      - myheats-data:/data
    environment:
      - SECRET_KEY=changez-moi-en-random
      - DATABASE_URL=sqlite:////data/myheats.db
      - DEFAULT_TEMP_UNIT=celsius

volumes:
  myheats-data:

Installation manuelle

  1. Pré-requis : Python 3.10+, SQLite.
  2. Cloner : git clone https://github.com/madiele/myheats.git
  3. cd myheats && pip install -r requirements.txt
  4. flask db upgrade puis lancer avec flask run ou Gunicorn.
  5. Servir derrière Nginx en production.

Configuration

  • Créer le premier utilisateur via flask create-user.
  • Configurer l'unité de température par défaut (°C ou °F).
  • Définir les types de session personnalisés (sauna finlandais, sauna infrarouge, hammam, hot tub, cold plunge, contraste…).
  • Activer les exports (CSV de l'historique pour analyse dans Excel/Pandas).
  • Brancher un capteur IoT (optionnel) : Thermomètre Bluetooth ou MQTT, avec un script Python qui POST vers l'API.

Alternatives

Open source

  • Strava (propriétaire) — pour le sport, pas la chaleur
  • Hevy (propriétaire) — idem
  • Habitica — pour les habitudes générales, adaptable
  • app-perfice — habit tracker plus générique et configurable

Propriétaires

  • Sauna Tracker (iOS, payant) — le plus proche en fonctionnalité
  • Saunum (hardware + app fermée) — pour leurs saunas connectés

Sécurité

  • Changer SECRET_KEY par une valeur aléatoire forte (Flask SECRET_KEY).
  • HTTPS obligatoire en production (reverse proxy Traefik/Caddy) pour protéger la session.
  • Sauvegarder la base SQLite régulièrement (le volume myheats-data).
  • Données sensibles ? Non par défaut, mais si vous ajoutez des notes médicales (« récupération après blessure »), activer 2FA.
  • En multi-utilisateur, créer des comptes distincts plutôt que partager un login.

Ressources

Pages Liées