muscuÉtude de cas — projet personnel

Mes projets
En ligne

muscu — suivi de séances de musculation

Planifier ses séances, les valider en direct à la salle, et suivre sa progression dans le temps

PHP MySQL JavaScript SSO PWA Ouvrir l'application

Le contexte

Après avoir pris l'habitude d'aller régulièrement à la salle, j'ai voulu suivre mes séances plus sérieusement qu'avec des notes éparpillées : savoir précisément ce que j'avais fait la fois précédente, suivre mes progrès dans le temps, et ne plus avoir à improviser. J'ai développé muscu, une application web complète pour planifier, suivre et faire progresser mes entraînements.

Mon rôle

Conception et développement complet : l'API PHP, le schéma de base de données, la génération de calendriers, le Service Worker et toute l'interface, y compris les graphiques de progression.

L'objectif

Un outil utilisable directement à la salle, même hors connexion, qui remplace le carnet de notes et pousse à progresser grâce au suivi des records personnels.

Fonctionnalités

  • Bibliothèque d'exercices classée par groupe musculaire, avec possibilité d'ajouter ses propres exercices
  • Séances types (templates) réutilisables, pour ne pas repartir de zéro à chaque entraînement
  • Mode séance en direct : validation des séries au fil de l'eau, chronomètre et timer de repos avec son et vibration
  • Historique complet de toutes les séances passées
  • Suivi de progression : courbes par exercice, records personnels et 1RM estimé
  • Planning calendrier, avec export .ics et flux webcal abonnable pour synchroniser ses séances dans le Calendrier Apple
  • PWA installable et utilisable hors-ligne, pensée pour un usage à la salle sans réseau fiable
  • Calculateur de plaques et calculateur de 1RM
  • Programmes préfaits : Push/Pull/Legs, Full Body, Upper/Lower
  • Compte optionnel branché sur le SSO de l'écosystème (comme Mini-jeux) : mode invité en local ou compte pour synchroniser ses données sur tous ses appareils

Sous le capot

  • API PHP/MySQL au format JSON, intégrée au SSO partagé de l'écosystème (cookie abrtsso)
  • Génération de calendriers au format iCalendar (RFC 5545) côté serveur pour le flux webcal, et côté client pour l'export .ics
  • Service Worker pour le fonctionnement hors-ligne et l'installation en PWA
  • Graphiques de progression en SVG fait maison, sans librairie externe
  • Interface construite avec le design system « console » partagé par l'écosystème

Compétences BTS SIO mobilisées

Ce projet s'inscrit dans plusieurs compétences du référentiel BTS SIO, option SISR :

  • Bloc 1 Mettre à disposition des utilisateurs un service informatique
  • Bloc 3 Gérer les identités et les habilitations
  • Bloc 3 Protéger les données à caractère personnel
  • Transverse Travailler en mode projet

Pour aller plus loin