Application de suivi sportif et de coaching intelligent avec IA (Mistral)
FitCoach Pro est une application web complète de suivi sportif qui agit comme un coach sportif intelligent, un tracker de performance avancé et un assistant nutritionnel — le tout dans une seule interface.
Application : FitCoach-Pro
- Log des séances avec exercices, séries, reps, poids, temps de repos
- Détection automatique des records personnels (PR)
- Calcul du volume total par séance
- Historique complet des séances
- Génération IA de séances personnalisées (Mistral)
- Enregistrement des courses (distance, temps, allure)
- Types : Endurance, Fractionné, Tempo, Sortie longue
- Calcul automatique de l'allure (min/km)
- Estimation du VO2 Max
- Analyse IA de la progression
- Krav Maga, Boxe, MMA, Muay Thai, Jiu-Jitsu
- Types : Technique, Sparring, Cardio
- Estimation des calories brûlées
- Analyse de charge physique
- Calendrier mensuel interactif
- Planification des séances à la semaine
- Planning IA — génération automatique d'un programme équilibré
- Gestion des séances récurrentes
- Courbes de volume (30 jours)
- Progression allure course
- Répartition par groupe musculaire (graphique donut)
- Records personnels par exercice
- Analyse IA hebdomadaire avec recommandations
- Suivi sommeil et fatigue
- Enregistrement des douleurs/blessures
- Graphique d'évolution
- Recommandations IA : repos, séance légère ou normale
- Calcul BMR (Mifflin-St Jeor)
- Calcul TDEE selon niveau d'activité
- Répartition macronutriments (protéines/glucides/lipides)
- Log quotidien des calories
- Recommandations IA personnalisées
- Graphique de répartition des macros
- Système de streak (jours consécutifs)
- 9 badges à débloquer
- Système de niveaux et XP
- Barre de progression vers le niveau suivant
- Timer de repos intégré (30s, 1min, 1:30, 2min, 3min)
- Mode démarrage rapide
- Export / Import des données (JSON)
- Chat en temps réel avec votre coach
- Génération de séances muscu
- Analyse hebdomadaire intelligente
- Planning optimisé anti-surentraînement
- Conseils nutrition personnalisés
- Conseils récupération
# Cloner le repo
git clone https://github.com/votre-username/fitcoach-pro.git
cd fitcoach-pro
# Ouvrir dans le navigateur
open index.html
⚠️ Pour l'IA Mistral, vous devez servir l'application via un serveur HTTP (pas enfile://) à cause des restrictions CORS.
# Avec Python
python3 -m http.server 8080
# Avec Node.js
npx serve .
# Avec PHP
php -S localhost:8080Puis ouvrir : http://localhost:8080
- Pusher le code sur GitHub
- Aller dans Settings → Pages
- Source :
mainbranch,/ (root) - Votre app sera disponible sur
https://votre-username.github.io/fitcoach-pro
Glisser-déposer le dossier sur netlify.com/drop — déploiement instantané !
- Créer un compte sur console.mistral.ai
- Générer une clé API (gratuite avec quota)
- Dans l'app : Paramètres → Intelligence Artificielle
- Coller votre clé API et sauvegarder
La clé est stockée localement dans votre navigateur (localStorage). Elle n'est jamais envoyée ailleurs que vers l'API Mistral.
fitcoach-pro/
├── index.html # Application principale (HTML)
├── css/
│ └── style.css # Design system complet
├── js/
│ ├── db.js # Couche données (localStorage)
│ ├── ai.js # Module IA (Mistral API)
│ ├── ui.js # Utilitaires UI (toast, charts, modals)
│ └── pages.js # Logique de chaque page
└── README.md
| Technologie | Usage |
|---|---|
| HTML5/CSS3/JS Vanilla | Frontend |
| Chart.js 4.x | Graphiques |
| Mistral AI API | Intelligence artificielle |
| localStorage | Persistence des données |
| Google Fonts | Typographie (Bebas Neue, DM Sans, JetBrains Mono) |
- ✅ Chrome / Edge (recommandé)
- ✅ Firefox
- ✅ Safari
- ✅ Mobile (responsive)
- ✅ Mode offline (sans les fonctions IA)
- 100% local : toutes les données sont stockées dans le
localStoragede votre navigateur - Aucun compte requis
- Aucun serveur backend
- Export/Import en JSON pour sauvegarder ou migrer vos données
- Seules les requêtes IA sont envoyées à l'API Mistral
| Action | XP |
|---|---|
| Séance musculation | +30 XP |
| Par exercice | +5 XP |
| Course (par km) | +5 XP/km |
| Séance combat | +20 XP |
| Niveau | XP requis |
|---|---|
| 1 | 0 |
| 2 | 100 |
| 3 | 250 |
| 4 | 500 |
| 5 | 900 |
| 6 | 1 400 |
| 7 | 2 100 |
| 8 | 3 000 |
| 9 | 4 200 |
| 10 | 6 000 |
| Badge | Condition |
|---|---|
| 🏋️ Premier pas | Première séance |
| 🔥 7 jours | 7 jours de streak |
| ⚡ 30 jours | 30 jours de streak |
| 🏆 PR Hunter | Premier record battu |
| 🏃 10K Club | Course de 10 km |
| ⭐ Niveau 5 | Atteindre le niveau 5 |
| 💯 Centenaire | 100 séances totales |
| 🥊 Combattant | 10 séances de combat |
| 🥗 Nutritioniste | 7 jours de suivi nutrition |
Dans js/db.js, fonction defaultExercises() :
{ id: 'exN', name: 'Mon exercice', muscle: 'Groupe musculaire', type: 'compound' }Dans js/db.js :
const XP_THRESHOLDS = [0, 100, 250, 500, 900, 1400, 2100, 3000, 4200, 6000];Dans js/ai.js :
model: 'mistral-large-latest' // ou 'mistral-small-latest', 'open-mistral-7b'MIT — Libre d'utilisation, modification et distribution.
Les contributions sont bienvenues !
- Fork le projet
- Créer une branche (
git checkout -b feature/ma-fonctionnalite) - Commit (
git commit -m 'Ajout de ma fonctionnalité') - Push (
git push origin feature/ma-fonctionnalite) - Ouvrir une Pull Request