---
title: MyHeats
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, tracking, sauna, hot-tub, hobby, python, flask]
confidence: medium
contested: false
sources: [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é)
```yaml
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
- Site officiel : https://myheats.app/
- Dépôt GitHub : https://github.com/madiele/myheats
- Issues : https://github.com/madiele/myheats/issues

## Pages Liées
- [[cat-tracking]]
- [[recettes-docker-compose]]
