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 |
|
medium | false |
|
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
- Pré-requis : Python 3.10+, SQLite.
- Cloner :
git clone https://github.com/madiele/myheats.git cd myheats && pip install -r requirements.txtflask db upgradepuis lancer avecflask runou Gunicorn.- 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_KEYpar une valeur aléatoire forte (FlaskSECRET_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