K.O.S. Santé

Nouveau mot de passe

{{ errorMessage }}

{{ successMessage }}

Connexion / Inscription

{{ errorMessage }}

{{ successMessage }}


Chargement de votre profil...

✅ Email vérifié : {{ user?.email }}

Complétez votre profil

{{ onbError }}

Compte en attente

Merci {{ profile?.prenom }} ! Votre profil est bien enregistré. Un administrateur doit encore valider votre accès avant que vous puissiez utiliser l'application.

📡 {{ enAttenteSync }} changement{{ enAttenteSync > 1 ? 's' : '' }} en attente de synchronisation

Bienvenue, {{ profile?.prenom }} !

{{ phraseMotivationDashboard }}

{{ j.label }}
{{ j.jourMois }}
{{ j.seances.join('') }}
{{ streakSemaines }} semaine{{ streakSemaines > 1 ? 's' : '' }} d'affilée {{ streakBadges.join(' ') }}
{{ messageNouveauxRecords }}

Ressenti sur 28 jours

Pas encore assez de données pour afficher un graphique.

Pas encore de données.

Pas encore assez de séances avec durée/ressenti renseignés.

{{ zoneAcwr(acwrActuel).emoji }} {{ zoneAcwr(acwrActuel).label }}

Donnée en cours de stabilisation (historique encore court).

Pas encore assez de séances de musculation terminées.

{{ zoneAcwr(tonnageAcwrActuel).emoji }} {{ zoneAcwr(tonnageAcwrActuel).label }}

Donnée en cours de stabilisation (historique encore court).

Mes trames

Aucune trame pour le moment.
{{ t.nom }} (inactive)
{{ t.description }}

{{ trameEnEditionId ? 'Modifier la trame' : 'Nouvelle trame' }}

{{ teError }}

🔗 Superset / circuit
{{ i+1 }}. {{ exo.nom }}
Série {{ j+1 }} reps

Avant de commencer

{{ nsError }}

Renseigne les 4 curseurs pour pouvoir continuer.

Séance en cours

Hooper
RPE
Tonnage

{{ nsError }}

🔗 Superset / circuit
{{ i+1 }}. {{ se.nom }}
kg {{ g.count > 1 ? (g.count + ' × ' + g.repetitions) : g.repetitions + ' reps' }}
kg × reps

Bilan de fin de séance

Débutée depuis {{ chronoMinutes }} min ({{ heureDebutSeance }})

Tu as soulevé {{ tonnageSeanceEnCours }} kg de fonte 💪

La durée et le ressenti sont tous les deux nécessaires pour valider.

Mon profil

Nom : {{ profile?.nom }}
Prénom : {{ profile?.prenom }}
Date de naissance : {{ profile?.date_naissance }}
Taille : {{ profile?.taille }} cm
Sexe : {{ profile?.sexe === 'homme' ? '♂ Homme' : (profile?.sexe === 'femme' ? '♀ Femme' : '—') }}
Email : {{ profile?.email }}
Membre depuis : {{ formatDateCourte(profile?.created_at) }}

{{ pfError }}


Changer mon mot de passe :

{{ errorMessage }}

{{ successMessage }}

Connecté via Google : le mot de passe est géré par votre compte Google.

Bibliothèque d'exercices

Aucun exercice trouvé.
{{ ex.nom }}
{{ ex.description }}
Muscles : {{ ex.musclesNoms.join(', ') || 'non renseigné' }}
Catégories : {{ regionsDeExercice(ex.musclesNoms).join(', ') || 'non classé' }}

Évolution par exercice

{{ exercicesRealises.length === 0 ? 'Aucun exercice réalisé pour le moment.' : 'Aucun résultat.' }}
{{ ex.nom }}
{{ regionsDeExercice(ex.musclesNoms).join(', ') || 'non classé' }}

Historique des séances

Aucune séance enregistrée pour le moment.

Mesures corporelles

{{ mesuresError }}

{{ cfg.label }}

{{ evolutionMesureTexte }}

Chargement...
Aucun relevé enregistré pour le moment.

Espace administrateur

En attente de validation

{{ u.prenom || '?' }} {{ u.nom || '' }}
{{ u.email }}

Aucun nouveau venu en attente.


Rechercher un utilisateur

{{ u.prenom }} {{ u.nom }} ({{ u.role }})
{{ u.prenom }} {{ u.nom }} ({{ u.role }})
{{ utilisateurSelectionne.prenom }} {{ utilisateurSelectionne.nom }}
{{ utilisateurSelectionne.email }}
Administrateur

Le rôle administrateur ne peut être changé que directement depuis Supabase.

{{ exerciceEnEditionId ? 'Modifier l\'exercice' : 'Ajouter un exercice' }}

{{ nouvelExoError }}

Matériel :
Muscles concernés :

Exercices existants ({{ exercicesListe.length }})

Aucun exercice trouvé.
{{ ex.nom }} [{{ ex.materielNoms.join(', ') }}]
{{ ex.musclesNoms.join(', ') || 'Aucun muscle renseigné' }}

Choisir un utilisateur

{{ u.prenom }} {{ u.nom }}
{{ u.prenom }} {{ u.nom }}

Trames de {{ utilisateurTrameSelectionne.prenom }} {{ utilisateurTrameSelectionne.nom }}

{{ copieSuccessMessage }}

Aucune trame pour cet utilisateur.
{{ t.nom }} (inactive)
{{ t.description }}
Copier "{{ trameACopier.nom }}" vers :

{{ copieError }}

{{ u.prenom }} {{ u.nom }}
{{ u.prenom }} {{ u.nom }}
Destination : {{ destinationCopieNom }}

Bibliothèque de trames modèles

Ces trames sont enregistrées sous votre propre compte administrateur et peuvent être copiées vers n'importe quel utilisateur au besoin.

{{ copieSuccessMessage }}

Aucune trame modèle pour le moment.
{{ t.nom }}
{{ t.description }}
Copier "{{ trameACopier.nom }}" vers :

{{ copieError }}

{{ u.prenom }} {{ u.nom }}
{{ u.prenom }} {{ u.nom }}
Destination : {{ destinationCopieNom }}

{{ phrasesMotivationError }}

Phrases affichées sous "Bienvenue" (tirées au sort pour tous les utilisateurs sans phrase personnalisée)

Chargement...
Aucune phrase générale pour le moment.
{{ p.texte }}

Rechercher un utilisateur

{{ u.prenom }} {{ u.nom }} ({{ u.role }})
{{ u.prenom }} {{ u.nom }} ({{ u.role }})
Phrases personnalisées de {{ utilisateurMotivationSelectionne.prenom }} {{ utilisateurMotivationSelectionne.nom }}

Si au moins une phrase est ajoutée ici, elles remplacent entièrement les phrases générales pour cet utilisateur (tirage au sort parmi les siennes uniquement).

Chargement...
Aucune phrase personnalisée pour le moment (les phrases générales s'affichent).
{{ p.texte }}

Annonce affichée en pop-up à l'ouverture de l'app pour toute la communauté. Une seule annonce active à la fois : publier une nouvelle annonce désactive automatiquement l'ancienne.

{{ annoncesError }}

Historique

Chargement...
Aucune annonce pour le moment.
{{ a.titre }} ● active
{{ formatDateAvecJour(a.created_at.slice(0, 10)) }}