TennisResult US Le Luart Tennis
Un import tenup est en attente de chargement.
{{ heroDate() }}

Bonjour{{ currentUsername ? ' ' + currentUsername : '' }}

{{ heroStatut() }}

Aucun résultat pour « {{ searchQ }} ».

À faire{{ homeAFaire().length }}
{{ f.titre }}{{ f.detail }}

✓ Tout est à jour

{{ formatDateHeure(p.scheduled_at) }} {{ p.description || 'Publication' }} {{ confirmEnCours('pub:'+p.id) ? 'Confirmer ?' : 'Annuler' }}
Prochaines rencontresToutes les journées
{{ jcDow(j.date) }}{{ j.date.slice(8, 10) }}{{ jcMon(j.date) }}
{{ m.libelle_court }} {{ m.domicile ? 'DOM.' : 'EXT.' }}{{ m.heure }}
{{ t.nom }}
{{ j.programme_publie ? 'Programme ✓' : 'Programme' }}

Pas de rencontre programmée.

Derniers résultats
{{ jcDow(j.date) }}{{ j.date.slice(8, 10) }}{{ jcMon(j.date) }}
{{ m.libelle_court }} {{ m.resultat }}{{ m.domicile ? 'DOM.' : 'EXT.' }}
{{ t.nom }}{{ t.score }}
{{ j.resultats_publies ? 'Résultats ✓' : 'Résultats' }}

Pas encore de résultat cette saison.

Tournoi
{{ homeResume.tournoi.nom }}
{{ formatDateFr(homeResume.tournoi.date_debut) }} → {{ formatDateFr(homeResume.tournoi.date_fin) }}
Aujourd'hui résultats saisis {{ homeResume.tournoi.aujourdhui.nb_resultats }}/{{ homeResume.tournoi.aujourdhui.nb_matchs }} prêt à publier Programme Résultats
Prochaine {{ homeDateCourte(homeResume.tournoi.prochaine.date) }} Programme
Fin tournoi terminé Podiums
Nos équipes · classements
{{ e.libelle_court || champLibelle(e) }} {{ e.equipe || 'US Le Luart' }} {{ e.classement.position }}{{ e.classement.position === 1 ? 'er' : 'e' }}/ {{ e.classement.total }}
{{ l.position }}{{ l.equipe }}{{ l.points }}
{{ e.classement.division_poule }} · au {{ formatDateFr(e.classement.date) }}

Rien en cours : les championnats et tournois apparaîtront ici dès qu'ils seront synchronisés ou créés.

Synchronisations{{ row.nom }}
{{ row.nom }}{{ row.titre }}
{{ row.detail }}
{{ homeSyncBusy === row.cle ? 'Synchro…' : row.libelle }}

{{ homeSyncMsg }}

US Le Luart Tennis
{{ tvClock }}
ChampionnatsProchaines rencontres{{ tvPanel.equipes.length }} équipe{{ tvPanel.equipes.length > 1 ? 's' : '' }}
{{ e.libelle_court || champLibelle(e) }}{{ e.equipe || 'US Le Luart' }}
{{ e.equipe || 'US Le Luart' }}
{{ e.prochain.domicile ? 'Domicile' : 'Extérieur' }} VS {{ homeDateCourte(e.prochain.date) }} J-{{ e.prochain.jours }} Demain Aujourd'hui
{{ e.prochain.adversaire }}
Rien de programmé pour l'instant
ChampionnatsPlanning{{ tvPanel.periode }} · {{ tvPanel.nb }} rencontre{{ tvPanel.nb > 1 ? 's' : '' }}
{{ c.actif ? c.long : c.court }}
{{ j.jour }}{{ j.mois }}aujourd'hui
{{ cr.libelle }}
{{ m.libelle || m.equipe }} {{ m.domicile ? 'DOM' : 'EXT' }}{{ m.adversaire }}{{ m.score_nous }}–{{ m.score_eux }}
ChampionnatsCalendrier{{ tvPanel.equipes.length }} équipe{{ tvPanel.equipes.length > 1 ? 's' : '' }}
{{ e.libelle_court || champLibelle(e) }}{{ e.equipe || 'US Le Luart' }}
{{ jcDow(c.date) }}{{ c.date.slice(8, 10) }}{{ jcMon(c.date) }}
{{ c.domicile ? 'DOM' : 'EXT' }}{{ c.joue ? (c.domicile ? c.score_nous + ' – ' + c.score_eux : c.score_eux + ' – ' + c.score_nous) : (c.heure || '') }} {{ c.adversaire }}
Calendrier à venir
ChampionnatsRésultatsdernière et avant-dernière rencontre de chaque équipe
{{ e.libelle_court || champLibelle(e) }}{{ e.equipe || 'US Le Luart' }}
{{ i === 0 ? 'Dernier' : 'Précédent' }} {{ c.domicile ? c.score_nous : c.score_eux }} – {{ c.domicile ? c.score_eux : c.score_nous }} {{ c.domicile ? 'DOM' : 'EXT' }}{{ rencontreTxt(e.equipe || 'US LE LUART', c.adversaire, c.domicile) }} {{ homeDateCourte(c.date) }}
Pas encore de résultat
ChampionnatsClassements{{ tvPanel.equipes.length }} équipe{{ tvPanel.equipes.length > 1 ? 's' : '' }}
{{ e.libelle_court || champLibelle(e) }}{{ e.equipe || 'US Le Luart' }}
Bilan de saison{{ tvPanel.groupe.libelle || 'Équipe' }}{{ tvPanel.groupe.equipe || 'US Le Luart' }}
{{ s.phase }}{{ s.division }}
{{ s.position }}{{ s.position === 1 ? 'er' : 'e' }}/ {{ s.total }}
{{ s.statut === 'termine' ? 'terminé' : 'en cours' }} · {{ s.nb_joues }} rencontre{{ s.nb_joues > 1 ? 's' : '' }}
{{ j.prenom }}{{ j.nom }}
{{ j.simple.gagnes }}/{{ j.simple.joues }}{{ j.double.gagnes }}/{{ j.double.joues }}
{{ j.rang }}
{{ s.statut === 'absent' ? 'Championnat de printemps pas encore programmé' : s.statut === 'a_venir' ? (s.debut ? 'Premier match le ' + homeDateCourte(s.debut) : 'Pas encore commencé') : 'Feuilles de match pas encore disponibles' }}
{{ tvPanel.titre }} {{ tvPanel.tournoi }} {{ formatDateLong(tvPanel.date) }}
{{ m.heure || '—' }}{{ m.epreuve }} {{ trnJoueurName(m.joueur_a) || '?' }}{{ m.joueur_a && m.joueur_a.classement }} {{ m.score || 'vs' }} {{ m.joueur_b && m.joueur_b.classement }}{{ trnJoueurName(m.joueur_b) || '?' }}
Podiums{{ tvPanel.tournoi }}
{{ p.epreuve }}
🥇 {{ p.vainqueur }}
🥈 {{ p.finaliste }}
🥉 {{ p.troisieme }}
{{ tvPanel.titre }}
{{ tvPanel.sous_titre }}
À venir
{{ t.date }}{{ t.cat }}{{ t.texte }}
← → pour changer d'écran · Échap pour quitter

Paramètres · {{ aideTitre() }}

{{ editingId ? 'Modifier la rencontre #'+editingId : 'Nouvelle rencontre' }}

📥
Import tenup en attente
{{ pendingImport.rencontre.equipe_visite }} {{ pendingImport.rencontre.score_visite }} / {{ pendingImport.rencontre.score_visiteur }} {{ pendingImport.rencontre.equipe_visiteur }} · {{ pendingImport.rencontre.date }} · {{ pendingImport.rencontre.categorie }}
— Sans rattachement —
Aucun championnat
{{ c.nom }}
{{ c.saison }} {{ c.categorie }} {{ c.sexe }}
{{ c.nb_simples }} simples · {{ c.nb_doubles }} double{{ c.nb_doubles>1 ? 's' : '' }}
Aucun championnat — créez-en un dans l'onglet "Championnats"

Glissez-déposez ou collez (Ctrl+V) le PDF et le xlsx ici, ou utilisez les boutons ci-dessous.

📄
PDF feuille de match
{{ pdfFile ? pdfFile.name : 'Aucun fichier' }}
📊
xlsx classement
{{ xlsxFile ? xlsxFile.name : 'Aucun fichier' }}

{{ error }}

🏠
vs
✈️
Date
Catégorie
Sexe

Simples

Simple {{ m.numero }}

Doubles

Double {{ m.numero }}

Classement de la poule

⚠ pas de match ✓ {{ findTeam(e.equipe).nom }}
pts

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 :

🖼️
Voir l'affiche
Visualise le visuel prêt à publier, télécharge en PNG.
📊
Exporter le CSV
Télécharge le fichier CSV pour l'importer dans Canva (bloc de données).

Aperçu de l'affiche

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

Import…

{{ calendrierError }}

Championnat J Date Heure Équipe locale Score Équipe visiteur Statut Publié Actions
— {{ r.journee || '—' }} modifiée {{ r.equipe_visite_nom }} {{ r.score_visite }} / {{ r.score_visiteur }} — {{ r.equipe_visiteur_nom }} ✓ joué à venir — | {{ 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.' }}

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 }}

Utile si tenup utilise un nom légèrement différent (ex. avec « INTERCOMMUNAL » ou un numéro d'équipe). Le matching se fait déjà tout seul pour les cas simples (numéros, ponctuation).
LogoNomAliasesMon clubLogo 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' }}

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é.

Import terminé : {{ gestCoordRes.trouves }} joueur{{ gestCoordRes.trouves > 1 ? 's' : '' }} du club retrouvé{{ gestCoordRes.trouves > 1 ? 's' : '' }} sur {{ gestCoordRes.lignes }} licencié{{ gestCoordRes.lignes > 1 ? 's' : '' }} du fichier — {{ gestCoordRes.emails }} e-mail{{ gestCoordRes.emails > 1 ? 's' : '' }}, {{ gestCoordRes.licences }} licence{{ gestCoordRes.licences > 1 ? 's' : '' }} et {{ gestCoordRes.telephones }} téléphone{{ gestCoordRes.telephones > 1 ? 's' : '' }} ajouté{{ gestCoordRes.emails + gestCoordRes.telephones + gestCoordRes.licences > 1 ? 's' : '' }} ; {{ gestCoordRes.licencies }} joueur{{ gestCoordRes.licencies > 1 ? 's' : '' }} marqué{{ gestCoordRes.licencies > 1 ? 's' : '' }} « licencié » {{ gestSaisonLib() }}.
Onglet{{ gestCoordRes.onglets.length > 1 ? 's' : '' }} lu{{ gestCoordRes.onglets.length > 1 ? 's' : '' }} : .
⚠ Aucune colonne e-mail trouvée dans ce fichier.
⚠ Aucune colonne licence trouvée dans ce fichier.
⚠ Aucune colonne classement trouvée dans ce fichier.
Toujours sans e-mail ({{ gestCoordRes.sans_email.length }}) : {{ gestCoordRes.sans_email.join(', ') }}.
Toujours sans licence ({{ gestCoordRes.sans_licence.length }}) : {{ gestCoordRes.sans_licence.join(', ') }}.
{{ 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 ; 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.

Récupération interrompue : {{ gestImport.erreur }}

{{ gestMsg }}

{{ gestErreur }}

{{ gestListeFiltree().length }} / {{ gestJoueurs.length }} joueur{{ gestJoueurs.length > 1 ? 's' : '' }}
Joueur{{ gestTriFleche('nom') }}ClassementClt{{ gestTriFleche('classement') }}Dernière feuille{{ gestTriFleche('vu_le') }}Licence{{ gestTriFleche('licence') }}Licencié{{ gestTriFleche('licencie') }}Équipes{{ gestTriFleche('equipes') }}
{{ gestJoueurs.length ? 'Aucun joueur à ce nom.' : "Liste vide : « Récupérer depuis Ten'Up » ou « Ajouter un joueur »." }}

Planning des équipes

{{ gestPlanMoisLabel() }}

{{ gestErreur }}

{{ e.nom }}{{ e.libelle ? ' · ' + e.libelle : '' }} À préparer En préparation Complète Jouée

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 ».

{{ m.equipe }} · {{ m.libelle }} {{ m.equipe }} – {{ m.adversaire }} consultation seule
{{ d }}
{{ j.jour }}
{{ cr.libelle }}
{{ gestDate(m.date) }} {{ m.domicile ? 'DOM.' : 'EXT.' }} {{ rencontreTxt(m.equipe, m.adversaire, m.domicile) }} {{ gestStatut(m).libelle }} Adversaire

Aucune rencontre ce mois-ci.

Utilisateurs

Gérez les comptes pouvant se connecter à l'application.

Créer un compte

Équipes qu'il pourra modifier (il consulte les autres) :
IdentifiantRôleActions
{{ u.username }} vous
Aucune équipe : ce capitaine ne peut rien modifier.
Réinit. mot de passe

Mon mot de passe