Bonjour{{ currentUsername ? ' ' + currentUsername : '' }}
{{ heroStatut() }}
Aucun résultat pour « {{ searchQ }} ».
✓ Tout est à jour
Pas de rencontre programmée.
Pas encore de résultat cette saison.
Rien en cours : les championnats et tournois apparaîtront ici dès qu'ils seront synchronisés ou créés.
Synchronisations{{ row.nom }}
{{ homeSyncMsg }}
| {{ l.position }} | {{ l.equipe }} | {{ l.points }}pts |
Paramètres · {{ aideTitre() }}
Automatisations
Active ou coupe chaque module, et choisis les heures des passages automatiques (heure de Paris).
Notifications — résultats prêts à publier
TennisResult fabrique les visuels lui-même et t'envoie une notification avec l'image et un bouton « Publier » — un tap, et c'est posté sur Facebook et Instagram, rien ne part sans toi :
- Résultats de la journée — dès que tous les matchs du jour ont leur score (tournoi), ou qu'une rencontre de championnat est importée depuis tenup.
- Programme de demain — chaque soir à l'heure réglée dans Automatisations, si une journée de tournoi est prévue demain.
- Programme de demain (championnat) — chaque soir également, une seule notification avec le visuel de toutes les équipes qui jouent le lendemain (4 par page) ; « Publier » annonce la journée d'un coup.
Ce navigateur ne permet pas les notifications. Sur iPhone : ajoute d'abord TennisResult à l'écran d'accueil (Partager → Sur l'écran d'accueil), ouvre-la depuis l'icône, puis reviens ici.
{{ pushMsg }}
Connexion MOJA — synchronisation automatique
Plus besoin de télécharger les fichiers : TennisResult réutilise ta session MOJA pour aller chercher lui-même la liste des joueurs et la liste des matchs des tournois liés, aux heures réglées dans Automatisations ({{ autoHeuresLabel() }}) pendant le tournoi. Ton mot de passe MOJA n'est jamais saisi ni stocké ici.
-
Glisse-dépose ce bouton dans la barre de favoris de ton navigateur (une seule fois, comme pour tenup) :
🔗 Connecter MOJA - Ouvre moja.fft.fr et connecte-toi normalement.
- Clique le favori : TennisResult récupère ta session et lance aussitôt la synchro des tournois liés.
- Sur l'écran de ton tournoi, choisis son homologation MOJA et active la synchro automatique.
La FFT limite la durée d'une session : quand elle expire, l'app te le signale ici et sur l'écran du tournoi — il suffit de recliquer le favori depuis MOJA.
Connexion Facebook
Mail mairie — panneau lumineux
Le bouton ✉ Mairie (Journées → Programme) envoie le programme au format A4 portrait (une seule page, 2480 × 3508 px) à la mairie, pour le panneau lumineux du village. L'envoi passe par le compte Gmail ci-dessous avec un mot de passe d'application (validation en deux étapes requise sur ce compte) : à créer sur myaccount.google.com/apppasswords.
Partenaires des visuels
Les logos actifs s'affichent dans un bandeau en bas de tous les visuels (résultats, annonces, tournois, podiums, bilans). Fond blanc conseillé pour les logos (png, jpg, webp ou svg).
| {{ p.nom }} | ↑ ↓ | {{ p.actif ? 'Masquer' : 'Afficher' }} | {{ confirmEnCours('ptn:'+p.id) ? 'Confirmer ?' : 'Suppr' }} |
Aucun partenaire pour l'instant — les visuels restent tels quels.
Liens du club
Raccourcis affichés en haut de l'Accueil pour ouvrir vite les sites utiles.
Liens proposés automatiquement (page Ten'Up du club, MOJA, Facebook, Instagram) tant que tu n'as rien changé : ajoute ou retire un lien pour personnaliser la liste.
Suggestions :
TenUp ·
MOJA ·
Facebook ·
Instagram
(clique pour préremplir, puis « Ajouter »).
Import manuel d'une rencontre (ancienne méthode) — utile seulement si tenup n'a pas la feuille de match : PDF « feuille de match » + classement (xlsx tenup), validation, puis visuel et CSV Canva. Accessible depuis Publication → Rencontres → « Feuille de match manuelle ».
Import direct depuis Tenup (bookmarklet)
Avec ce favori, tu peux importer une rencontre directement depuis la page tenup en un clic — récupération automatique du PDF + du classement, sans télécharger manuellement.
-
Glisse-dépose ce bouton dans la barre de favoris de ton navigateur (clic-droit + « Ajouter aux favoris » ne marche pas — il faut un drag&drop) :
📥 Importer dans TennisResult - Connecte-toi à tenup et va sur la page d'une rencontre (URL contenant
/rencontre/). - Clique le favori → l'app récupère le PDF + le classement et te propose de les charger ici.
Le favori utilise tes cookies de session tenup (tu dois être connecté). Aucune donnée ne transite par un serveur externe — tout va directement vers {{ settings.public_base_url || 'http://localhost:7272' }}.
Réglages — URL publique pour les logos
Les URLs des logos écrites dans le CSV utilisent cette base. Pour que Canva puisse charger les images, l'URL doit être accessible depuis Internet (ngrok, reverse proxy, serveur public…). Sinon les logos n'apparaîtront pas dans Canva.
Valeur par défaut (depuis env TENNIS_PUBLIC_BASE_URL) : {{ settings.default_public_base_url }}
✅ Réglage enregistré
Sauvegardes de la base
Une sauvegarde automatique est faite chaque nuit sur le serveur (conservée 30 jours). Tu peux aussi en créer une à la demande et la télécharger sur ton PC pour la mettre à l'abri.
| Fichier | Date | Taille | |
|---|---|---|---|
| {{ b.name }} | {{ formatDateHeure(b.date) }} | {{ formatOctets(b.size) }} | Télécharger |
Aucune sauvegarde sur le serveur pour l'instant.
Restaurer une sauvegarde
Remplace la base actuelle par le fichier choisi (sauvegarde téléchargée ou fichier
.db). Par sécurité, une copie de l'état actuel est créée juste avant.
{{ restoreMsg }}
{{ editingId ? 'Modifier la rencontre #'+editingId : 'Nouvelle rencontre' }}
Glissez-déposez ou collez (Ctrl+V) le PDF et le xlsx ici, ou utilisez les boutons ci-dessous.
{{ error }}
Simples
Doubles
Classement de la poule
Seules les 8 premières équipes sont exportées dans le CSV. Si « ⚠ pas de match » apparaît, va dans Équipes pour créer l'équipe (ou ajouter un alias).
{{ error }}
✅ Rencontre {{ editingId ? 'mise à jour' : 'enregistrée' }}
Rencontre #{{ lastRencontreId }} — Score : {{ lastScore }}
Choisis ce que tu veux faire :
Si un logo manque, ajoute-le dans Gestion équipes → Clubs et logos puis reviens ici.
Aperçu du visuel
L'image est rendue ici à 1080×1080 (taille native). Les logos doivent être présents dans le référentiel Équipes pour apparaître.
Rencontres
{{ calendrierError }}
| Championnat | J | Date | Heure | Équipe locale | Score | Équipe visiteur | Statut | Publié | Actions |
|---|---|---|---|---|---|---|---|---|---|
| {{ champRencontre(r).libelle_court || champRencontre(r).nom }} {{ champRencontre(r).equipe_nom }} — | {{ r.journee || '—' }} | modifiée | {{ r.equipe_visite_nom }} | {{ r.score_visite }} / {{ r.score_visiteur }} — | {{ r.equipe_visiteur_nom }} | ✓ joué à venir | — | Affiche | Éditer Annonce | Saisir le résultat | {{ confirmEnCours('renc:'+r.id) ? 'Confirmer ?' : 'Suppr' }} | |
| {{ rencontresFilterChampId ? 'Aucune rencontre. Importe le calendrier xlsx pour démarrer.' : 'Aucune rencontre. Choisis un championnat puis importe le xlsx, ou utilise le bookmarklet tenup.' }} | |||||||||
Annonce — Journée {{ annonceMatch.journee || '?' }}
{{ voirTournoisArchives ? 'Tournois archivés' : 'Tournois' }}
Importe la « Liste des matchs » exportée depuis MOJA (écran Exports) pour générer les visuels de programme et de résultats de chaque journée, prêts à publier sur les réseaux.
| Nom | Lieu | Dates | Couleurs | Journées | |
|---|---|---|---|---|---|
| {{ t.nom }} | {{ t.lieu }} | {{ formatDateFr(t.date_debut) }} → {{ formatDateFr(t.date_fin) }} | {{ t.nb_journees }} | Ouvrir | Éditer | Dupliquer | Archiver | Réactiver | {{ confirmEnCours('trn:'+t.id) ? 'Confirmer ?' : 'Suppr' }} | |
| Aucun tournoi — crée le premier avec le bouton ci-dessus. | |||||
Données du tournoi
{{ tournoiSelected.nb_journees }} journée{{ tournoiSelected.nb_journees > 1 ? 's' : '' }} · matchs à jour le {{ formatDateHeure(tournoiSelected.last_import_at) }} aucun match importé · {{ tournoiSelected.nb_joueurs }} joueurs aucune base joueurs⚠ {{ mojaSyncError }}
{{ trnManuelVisible() ? '▾' : '▸' }} Import manuel des fichiers MOJADans MOJA : Exports → « Liste des matchs » (homologation + toutes les épreuves) et « Liste des joueurs ». Réimportables à volonté : exclusions, réglages et publications sont conservés.
✅ {{ trnImportResult.matchs }} matchs importés ({{ trnImportResult.dates.length }} journées : {{ trnImportResult.journees_creees }} créée{{ trnImportResult.journees_creees > 1 ? 's' : '' }}, {{ trnImportResult.journees_mises_a_jour }} mise{{ trnImportResult.journees_mises_a_jour > 1 ? 's' : '' }} à jour).
✅ {{ trnJoueursResult.joueurs }} joueurs importés — {{ trnJoueursResult.clubs_remplis }} clubs mis à jour sur les journées existantes.
⚠ {{ trnError }}
Journée à traiter
| {{ m.heure || '—' }} | {{ m.epreuve }} | {{ trnJoueurName(m.joueur_a) }} vs {{ trnJoueurName(m.joueur_b) }} | {{ m.score }} 🏆 à venir |
Aucune journée — importe la « Liste des matchs » ci-dessus.
Podiums — {{ tournoiSelected.nom }}
Pré-rempli automatiquement dès que les finales sont dans le fichier importé (vainqueur/finaliste depuis la finale, 3e place = perdants des demi-finales). Tout est modifiable à la main.
| Épreuve | 🥇 Vainqueur | 🥈 Finaliste | 🥉 3e place | |
|---|---|---|---|---|
| Aucune épreuve — importe d'abord la Liste des matchs, ou ajoute une ligne. | ||||
⚠ {{ podiumsError }}
Saisie des scores — {{ formatDateFr(trnJournee.date) }}
Saisis le score de chaque match joué (ex : 6/4 6/2, côté joueur de
gauche) : le vainqueur 🏆 se coche tout seul, clique sur un trophée pour
le forcer (WO, abandon…). Laisse vide un match non joué — il restera affiché en « VS ».
| Heure | Épreuve | Joueur | 🏆 | Score | 🏆 | Joueur |
|---|---|---|---|---|---|---|
| {{ m.heure }} | {{ m.epreuve }} | {{ trnJoueurName(m.joueur_a) }} {{ m.joueur_a.classement }} | {{ trnJoueurName(m.joueur_b) }} {{ m.joueur_b.classement }} |
⚠ {{ trnError }}
Vérification des matchs — {{ formatDateFr(trnJournee.date) }}
Corrige ce qui doit l'être, coche le vainqueur (🏆) et saisis le score des matchs
joués (ex : 6/4 6/2). Décoche un match pour l'exclure du visuel.
| ✓ | Heure | Épreuve | Joueur A | 🏆 | Score | 🏆 | Joueur B | |
|---|---|---|---|---|---|---|---|---|
|
|
|
⚠ {{ trnError }}
L'image est rendue à 1080×1080 (taille native Instagram). {{ trnIncludedMatchs().length }} matchs répartis sur {{ trnPageCount() }} pages de {{ trnPageSize }} max — une seule publication envoie toutes les pages (multi-photos Facebook, carrousel Instagram).
⚠ {{ trnError }}
{{ tournoiForm.id ? 'Modifier le tournoi' : 'Nouveau tournoi' }}
{{ voirArchives ? 'Championnats archivés' : 'Championnats' }}
{{ tenupLienMsg }}
| Nom | Notre équipe | Saison | Catégorie | Sexe | Couleurs | Simples | Doubles | Format S | Format D | |
|---|---|---|---|---|---|---|---|---|---|---|
| {{ c.nom }}
tenup
{{ c.division }}
| {{ c.equipe_nom || '' }} | {{ c.saison }} | {{ c.categorie }} | {{ c.sexe }} | {{ c.nb_simples }} | {{ c.nb_doubles }} | {{ c.format_simple }} | {{ c.format_double }} | Bilan | Éditer | Archiver | Réactiver | {{ confirmEnCours('champ:'+c.id) ? 'Confirmer ?' : 'Suppr' }} |
Calcul du bilan depuis les rencontres traitées…
⚠ {{ bilanError }}
Aucune rencontre traitée pour ce championnat — le bilan se construira au fil de la saison.
{{ champForm.id ? 'Modifier le championnat' : 'Nouveau championnat' }}
Journées du club
Toutes les équipes qui jouent le même jour, sur un seul visuel : le programme avant, les résultats après (avec le détail des matchs). Pour une seule équipe, passe par Rencontres (annonce / affiche) — les deux méthodes se marquent mutuellement comme publiées.
Chargement…
Aucune rencontre de championnat au calendrier — la synchro tenup remplit cette liste toute seule.
Une page par rencontre : la même image que l'affiche Résultats de la rencontre (couleurs de son championnat, détail des matchs, classement). Publier envoie toutes les pages en un seul post et marque le résultat de chaque équipe comme publié — comme l'affiche individuelle. A4 portrait (2480 × 3508 px) : tous les matchs du week-end (samedi et dimanche) sur une seule page, aux proportions exactes du A4 pour le panneau lumineux de la mairie. « ✉ Mairie » l'envoie par mail avec le texte du paramètre « Mail mairie » (Paramètres). 4 équipes par page au maximum (5 équipes → 2 pages, 3 + 2). Publier envoie toutes les pages en un seul post et marque l'annonce de chaque équipe comme publiée — comme l'annonce individuelle.
Clubs et logos
Une équipe par ligne. Format :
Nom équipe,
ou Nom équipe | alias1 | alias2,
ou ajouter * en fin de ligne pour marquer ton club.
{{ bulkResult }}
| Logo | Nom | Aliases | Mon club | Logo upload | |
|---|---|---|---|---|---|
|
|
{{ e.nom }} | {{ e.aliases.split('\n').filter(x=>x.trim()).join(' · ') }} — | {{ e.est_mon_club ? '✓' : '' }} | ou déposer / Ctrl+V ici | Éditer | {{ confirmEnCours('eq:'+e.id) ? 'Confirmer ?' : 'Suppr' }} |
Gestion des équipes
Usage interne : effectifs, capitaines et préparation des rencontres. Rien de cette section n'apparaît sur les visuels ni dans les publications. Vous modifiez votre équipe et consultez les autres.
{{ gestErreur }}
{{ gestSel.equipe.nom }}
{{ gestSel.equipe.libelle || 'Hors championnat' }} · {{ gestSel.equipe.format.simples }} simples + {{ gestSel.equipe.format.doubles }} double{{ gestSel.equipe.format.doubles > 1 ? 's' : '' }}Consultation seule : vous ne modifiez que votre équipe.
{{ gestErreur }}
Effectif {{ gestSel.effectif.length }} joueur{{ gestSel.effectif.length > 1 ? 's' : '' }}
| Joueur | Classement | Matchs prévus | Matchs joués | Dispos | Licence | Tél. | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ j.prevus }} | {{ j.joues }} | {{ j.dispos.oui }}{{ j.dispos.incertain }}{{ j.dispos.non }}—/{{ gestSel.nb_rencontres }} | C{{ j.prenom }} {{ j.nom }} | {{ j.classement || '—' }} | {{ j.prevus }} | {{ j.joues }} | {{ j.dispos.oui }}{{ j.dispos.incertain }}{{ j.dispos.non }}—/{{ gestSel.nb_rencontres }} | {{ j.licence || '—' }}licencié | — | — | CapitaineRetirer capitaine | Modifier | {{ confirmEnCours('eff:' + j.id) ? 'Confirmer ?' : 'Retirer' }} | ||||||
| Aucun joueur pour l'instant. |
Pas de joueur du club à ce nom : « Nouveau joueur » pour le créer (il rejoindra la liste des joueurs du club).
Rencontres
Changez la date ou l'heure directement dans la liste (report, avancement) : le programme et les visuels suivent. Un clic sur la rencontre ouvre les disponibilités et la composition.
{{ gestMsg }}
Aucune rencontre (équipe hors championnat).
Notes
{{ gestSel.equipe.notes || '—' }}
Mon mot de passe
Joueurs du club
E-mails, numéros de licence et classements : dans l'ADOC (espace de gestion du club à la FFT), exporte la liste des licenciés (fichier export.xls), puis « Importer l’export ADOC ». Pour les joueurs déjà dans cette liste, les cases vides sont complétées (e-mail, licence, téléphone) ; si le fichier a une colonne classement, elle remplace un classement plus ancien. Les classements, eux, se mettent à jour tout seuls avec les feuilles de match ; l'horloge orange signale un classement de la saison précédente, à corriger avec « Modifier » s'il a changé.
{{ gestCoordRes.absents.length }} licencié{{ gestCoordRes.absents.length > 1 ? 's' : '' }} du fichier absent{{ gestCoordRes.absents.length > 1 ? 's' : '' }} de la liste (jamais aligné{{ gestCoordRes.absents.length > 1 ? 's' : '' }} sur une feuille de match) : « + Ajouter un joueur » si besoin
{{ gestCoordRes.absents.join(', ') }}Les joueurs de l'US Le Luart, pour compléter les effectifs sans retaper les noms (saisie automatique). La liste se remplit avec les joueurs alignés pour le club sur les feuilles de match — « Récupérer depuis Ten'Up » reprend tout l'historique du club, toutes saisons ; un joueur créé dans un effectif y entre aussi.
Récupération terminée : {{ gestImport.ajoutes }} joueur{{ gestImport.ajoutes > 1 ? 's' : '' }} ajouté{{ gestImport.ajoutes > 1 ? 's' : '' }}, {{ gestImport.maj }} mis à jour ({{ gestImport.ignorees }} rencontre{{ gestImport.ignorees > 1 ? 's' : '' }} illisible{{ gestImport.ignorees > 1 ? 's' : '' }} ignorée{{ gestImport.ignorees > 1 ? 's' : '' }}).
Récupération interrompue : {{ gestImport.erreur }}
{{ gestMsg }}
{{ gestErreur }}
| Joueur{{ gestTriFleche('nom') }} | ClassementClt{{ gestTriFleche('classement') }} | Dernière feuille{{ gestTriFleche('vu_le') }} | Licence{{ gestTriFleche('licence') }} | Licencié{{ gestTriFleche('licencie') }} | Tél.{{ gestTriFleche('telephone') }} | E-mail{{ gestTriFleche('email') }} | Équipes{{ gestTriFleche('equipes') }} | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ gestMoisAnnee(j.vu_le) }} | licencié— | {{ e.nom }} · {{ e.libelle }}— | {{ j.prenom }} {{ j.nom }} | {{ j.classement || '—' }}{{ gestMoisAnnee(j.vu_le) }} | {{ gestMoisAnnee(j.vu_le) }} | {{ j.licence || '—' }}licencié | licencié— | — | — | {{ e.nom }} · {{ e.libelle }}— | Modifier | {{ confirmEnCours('jcl:' + j.id) ? 'Confirmer ?' : 'Supprimer' }} | ||||||
| {{ gestJoueurs.length ? 'Aucun joueur à ce nom.' : "Liste vide : « Récupérer depuis Ten'Up » ou « Ajouter un joueur »." }} | |||||||||||||||||
Planning des équipes
{{ gestErreur }}
Chaque jour a deux créneaux, 9h et 14h. Pour déplacer une rencontre, glissez-la sur un autre jour ou dans l'autre créneau (l'heure suit), ou cliquez dessus pour une date et une heure précises.
Touchez une rencontre pour voir les disponibilités, choisir les joueurs ou changer la date.
{{ gestMsg }}
Seules les rencontres à domicile comptent (une équipe à l'extérieur ne prend pas nos terrains). Une rencontre à domicile jouée dans un club voisin ne compte pas non plus : « Club voisin ».
Aucune rencontre ce mois-ci.
{{ gestMatch.equipe.nom }} {{ gestMatch.equipe.libelle }}
{{ gestMatch.match.domicile ? 'DOM.' : 'EXT.' }} {{ rencontreTxt(gestMatch.equipe.nom, gestMatch.match.adversaire, gestMatch.match.domicile) }} · journée {{ gestMatch.match.journee }}
Jouée dans un club voisin.
Résultat : {{ scoreDomicile(gestMatch.match.score_nous, gestMatch.match.score_eux, gestMatch.match.domicile) }}
Une rencontre déplacée l'est aussi dans le programme et les visuels publiés.
{{ gestDateLongue(gestMatch.match.date) }} à {{ gestMatch.match.heure }}
Remplir la feuille de match Ouvre la rencontre sur Ten'Up (connexion avec ton compte Ten'Up).
{{ gestErreur }}
Composition — {{ gestMatch.match.retenus }}/{{ gestMatch.match.requis }} retenus · {{ gestMatch.match.dispos.oui }} dispo{{ gestMatch.match.dispos.oui > 1 ? 's' : '' }}, {{ gestMatch.match.dispos.incertain }} incertain{{ gestMatch.match.dispos.incertain > 1 ? 's' : '' }}, {{ gestMatch.match.dispos.non }} absent{{ gestMatch.match.dispos.non > 1 ? 's' : '' }}
| Joueur | Disponible ? | Retenu |
|---|---|---|
| {{ l.joueur.prenom }} {{ l.joueur.nom }} {{ l.joueur.classement }}Lic. {{ l.joueur.licence }}licenciépar lui-même (plus dans l'effectif) |
|
|
| Ajoutez d'abord des joueurs à l'effectif de l'équipe. | ||
{{ gestConvocMsg }}
{{ gestConvocErr }}
Chargement…
Récupération des feuilles de match sur Ten'Up ({{ gestAdv.maj.fait }}/{{ gestAdv.maj.total }})… la fiche se complète toute seule.
Ten'Up : {{ gestAdv.maj.erreur }}
L'équipe cette saison {{ gestAdv.equipe.rencontres }} rencontre{{ gestAdv.equipe.rencontres > 1 ? 's' : '' }} dans la poule
Victoires par position
Duel prévisionnel leurs simples les plus alignés contre nos retenus, par classement
Coche « Retenu » pour tes joueurs dans l'onglet Composition : ils s'afficheront en face.
Dernière composition alignée {{ formatDateFr(gestAdv.composition.date) }} · contre {{ gestAdv.composition.contre }}saison précédente
Pas de composition connue pour {{ gestAdv.adversaire }}, ni cette saison ni la précédente. Les joueurs ci-dessous viennent de nos confrontations avec le club.
Joueurs connus clique sur un joueur pour ses statistiques
| Joueur | Clt | Joue en | Cette saison | Contre nous | Meilleure perf |
|---|---|---|---|---|---|
| {{ gestAdvJoueur === j.cle ? '▾' : '▸' }}{{ j.prenom }} {{ j.nom }}{{ pf.libelle }}saison précédente · vu le {{ formatDateFr(j.vu_le) }}avec {{ j.autre_equipe }} | {{ j.classement || '—' }} | {{ p }}— | S {{ j.saison.simple.gagnes }}/{{ j.saison.simple.joues }} · D {{ j.saison.double.gagnes }}/{{ j.saison.double.joues }}— | {{ j.contre_nous.gagnes }}/{{ j.contre_nous.joues }}— | bat un {{ j.perf.classement }} {{ formatDateFr(j.perf.date) }}— |
|
Simple {{ j.stats.simple.gagnes }}/{{ j.stats.simple.joues }} · double {{ j.stats.double.gagnes }}/{{ j.stats.double.joues }} depuis le {{ formatDateFr(j.stats.depuis) }}
{{ f.v ? 'V' : 'D' }}
{{ j.stats.indicateur.libelle }} {{ j.stats.indicateur.detail }} {{ pf.libelle }} {{ pf.detail }} {{ b[1] }} · {{ j.stats[b[0]].n }}En 2 sets{{ j.stats[b[0]].en_2_sets }} ({{ Math.round(100 * j.stats[b[0]].en_2_sets / j.stats[b[0]].n) }} %)
Sets par match{{ advNb(j.stats[b[0]].sets_par_match) }}
Jeux par set{{ advNb(j.stats[b[0]].jeux_pour) }} – {{ advNb(j.stats[b[0]].jeux_contre) }}
Jeux gagnés{{ j.stats[b[0]].pct_jeux }} %
Super jeu décisif{{ j.stats[b[0]].super_jd }} ({{ advNb(j.stats[b[0]].super_jd_pour) }} – {{ advNb(j.stats[b[0]].super_jd_contre) }})
Classement · saisons passées en gris
Meilleure perf : bat un {{ j.stats.perf.classement }} {{ j.stats.perf.adversaire }}, {{ formatDateFr(j.stats.perf.date) }}
Contre-perf : perd contre un {{ j.stats.contre_perf.classement }} {{ j.stats.contre_perf.adversaire }}, {{ formatDateFr(j.stats.contre_perf.date) }}
Contre nous : {{ j.contre_nous.gagnes }} victoire{{ j.contre_nous.gagnes > 1 ? 's' : '' }} sur {{ j.contre_nous.joues }}
Partenaire de double : {{ j.stats.partenaire.nom }} {{ j.stats.partenaire.gagnes }}/{{ j.stats.partenaire.joues }}
|
|||||
Aucune feuille de match connue pour cette équipe pour l'instant : elle apparaîtra après ses premières rencontres de la poule.
Nos confrontations avec ce club
Source : feuilles de match publiques Ten'Up de la saison {{ gestAdv.saison_libelle }} (rencontres de nos poules, même sans nous) ; pour la saison {{ gestAdv.saison_prec_libelle }}, signalée « saison précédente », nos rencontres avec le club et celles de l'équipe du même nom. Classement = celui de sa dernière feuille connue ; meilleure perf calculée sur ces feuilles. Statistiques d'un joueur : toutes ses feuilles connues (Seniors, +35, +45, Dames selon nos équipes) depuis la saison {{ gestAdv.historique_libelle }} (3 saisons au plus), historique des clubs adverses compris.
Liens de disponibilité {{ gestSel ? gestSel.equipe.nom : '' }}
Chaque joueur a son lien : il ouvre une page, sans compte ni mot de passe, où il répond Oui / Peut-être / Non pour chaque rencontre à venir. Ses réponses arrivent directement dans la composition (marquées « par lui-même »). Envoie à chacun son propre lien : il permet de répondre en son nom.
{{ gestLiensMsg }}
{{ gestLiensErr }}
Utilisateurs
Gérez les comptes pouvant se connecter à l'application.
Créer un compte
{{ usersError }}
| Identifiant | Rôle | Actions |
|---|---|---|
| {{ u.username }} vous |
Aucune équipe : ce capitaine ne peut rien modifier.
|
Réinit. mot de passe | Suppr |