{{ erreur }}
{{ message }}
Mon offre
👑 Super administrateur — toutes les fonctionnalités, sans limite.
Palier actuel : {{ profil.abonnement.actif ? 'Premium ⭐' : 'Gratuit 🆓' }} — accès jusqu'au {{ dateCourte(profil.abonnement.accesJusquA) }} — illimité
Participants connectés simultanés : {{ profil.abonnement.limiteParticipants == null ? 'illimité' : profil.abonnement.limiteParticipants }}
Fonctionnalités incluses : {{ fonctionnalitesIncluses }}
Mes informations
Vos coordonnées (facultatives, à usage interne). L'adresse e-mail reste votre identifiant de connexion.
Sécurité du compte
✅ Double authentification activée — un code de votre application (Google Authenticator, Authy…) est demandé à chaque connexion.
Protégez l'accès à ce tableau de bord par une double authentification : en plus du mot de passe, un code à 6 chiffres généré par une application (Google Authenticator, Authy, Microsoft Authenticator…) sera demandé.
1. Scannez ce QR code avec votre application d'authentification
(ou saisissez-y la clé {{ totp.preparation.secret }}).
2. Confirmez avec le code affiché par l'application :
Compte Spotify
✅ Relié au compte {{ profil.spotifyPseudo }} — la musique sera jouée sur les appareils de ce compte.
⚠️ Aucun compte Spotify relié : impossible de démarrer une soirée.
⚠️ L'autorisation de créer des playlists n'a pas été accordée. Cliquez sur « Changer de compte Spotify » puis validez bien l'écran d'autorisation de Spotify (sans décocher de permission).
⛔ Connexion Spotify expirée — depuis le 20 juillet 2026, l'autorisation Spotify est à renouveler tous les 6 mois. Cliquez sur « Changer de compte Spotify » pour la réactiver.
⏳ Votre autorisation Spotify expirera dans {{ spotifyJoursAvantExpiration }} jour(s) ({{ dateCourte(profil.spotifyRefreshExpireA) }}). Pensez à la renouveler via « Changer de compte Spotify » pour éviter toute interruption.
🔑 Mode SpotKey : reliez Spotify avec votre propre application développeur (lève la limite de testeurs). ✅ Vos clés sont enregistrées.
{{ profil.spotifyClesPresentes ? 'Modifier mes clés Spotify' : 'Configurer mes clés Spotify' }}
- Ouvrez le tableau de bord développeur Spotify et créez une application.
- Dans ses réglages, ajoutez exactement cette Redirect URI :
{{ profil.spotifyRedirectUri }} - Copiez le Client ID et le Client Secret ci-dessous.
- Besoin d'aide ? Suivez le cours pas-à-pas (comment obtenir vos clés et comment elles sont sécurisées).
Votre clé secrète est chiffrée en base et n'est jamais ré-affichée.
Diagnostic Spotify
Identifiant du compte : {{ profil.spotifyId || '—' }}
E-mail du compte : {{ profil.spotifyEmail || '— (re-reliez pour l’enregistrer)' }}
Cet e-mail doit correspondre exactement au compte listé dans
« User Management » du tableau de bord développeur Spotify (ou être celui du
propriétaire de l'application).
Autorisations accordées : {{ profil.spotifyScopes || '— (re-reliez pour les enregistrer)' }}
{{ diagPlaylist.conclusion }}
Compte : {{ diagPlaylist.userId || '—' }}
· abonnement : {{ diagPlaylist.produit }}
{{ e.etape }} → {{ e.status }} {{ e.ok ? '✓' : '✗' }}
WWW-Authenticate : {{ diagPlaylist.creation.wwwAuthenticate }}
Détail : {{ diagPlaylist.creation.corps }}
Mes soirées
| Nom | Code | Statut | |
|---|---|---|---|
| {{ s.nom }} | {{ s.code }} | {{ libelleStatut(s.statut) }} |
Aucune soirée pour l'instant.
Statistiques de toutes mes soirées
{{ statsGlobales.nbSoirees }} soirée(s) · {{ statsGlobales.nbTitresJoues }} titre(s) joué(s) au total
Évolution chronologique des styles les plus demandés
| Soirée | Titres joués | Styles en tête |
|---|---|---|
| {{ s.nom }} ({{ dateCourte(s.date) }}) | {{ s.nbTitresJoues }} | {{ s.topStyles.map(t => t.style + ' (' + t.nb + ')').join(' · ') || '—' }} |
Top 10 des titres les plus populaires (étoiles)
| {{ i + 1 }}. | {{ t.titre }} — {{ t.artistes }} | {{ t.etoiles }} ★ |
Pas encore d'évaluations aux étoiles.
{{ tagging.playlistsDepliee ? '▾' : '▸' }} 📂 Playlists {{ tagging.playlists.enCache.length }} en cache
Mettez vos playlists Spotify en cache pour peupler vos artistes et accélérer les soirées. À gauche celles à mettre en cache (📥), à droite celles déjà en cache (🔄 pour rafraîchir après une modification dans Spotify). Un ⚠️ signale un cache obsolète (playlist modifiée dans Spotify depuis).
Chargement des playlists…
Spotify : {{ tagging.playlists.erreur }}
📥 À mettre en cache ({{ tagging.playlists.horsCache.length }})
- {{ p.nom }}
Toutes vos playlists sont en cache. ✅
💾 En cache ({{ tagging.playlists.enCache.length }})
- {{ p.nom }} ⚠️
Aucune playlist en cache pour l'instant.
{{ tagging.taggingDepliee ? '▾' : '▸' }} 🏷 Artistes {{ tagging.artistes.length }}
Attribuez un ou plusieurs styles à vos artistes : c'est le repli pour afficher le « style à venir » des titres qui ne viennent pas d'un vote ou d'un forçage, et qui ne sont dans aucune playlist 📥 indexée. Les artistes proviennent de vos playlists en cache. La saisie propose les styles déjà utilisés.
Style « {{ tagging.styleFiltre }} » : {{ artistesTaggingFiltres.length }} artiste(s)
Chargement…
Aucun artiste en base : mettez d'abord des playlists en cache (carte Playlists ci-dessus).
- {{ a.nom }} {{ a.nbTitres }} {{ s }}
Affichage limité à 300 artistes — affinez avec le filtre.
{{ tagging.stylesCardDepliee ? '▾' : '▸' }} 🎼 Styles {{ tagging.styles.length }}
Tous les styles attribués à vos artistes, par ordre alphabétique. Cliquez un style pour voir ses artistes (dans la carte ci-dessus) ; ✕ le retire de tous les artistes.
Aucun style attribué pour l'instant.
Aucun style ne correspond.
🎚 Smart Playlist
Composez une playlist depuis votre base (titres des playlists 📥 indexées + styles d'artiste). Chaque ligne cible un style ou une combinaison (tous les styles à la fois), une période d'années, une quantité (% ou nombre), un emplacement et le regroupement. Le système fait au mieux puis sauvegarde sur Spotify.
Composition
{{ smartResume.niveau === 'ok' ? '✓' : '⚠️' }} {{ smartResume.texte }}
Aperçu : ≈ {{ smart.apercu.nbTitres }} titre(s), durée ~ {{ formatDuree(smart.apercu.dureeMs) }}.
- ⚠️ {{ m.styles.join(' + ') }} : {{ m.obtenu }}/{{ m.voulu }} titre(s) trouvé(s) en base.
✅ {{ smart.resultat.nbTitres }} titres ({{ formatDuree(smart.resultat.dureeMs) }}) — ouvrir sur Spotify.
{{ soireeChoisie.nom }} {{ soireeChoisie.code }}
Statut : {{ libelleStatut(soireeChoisie.statut) }} · {{ etat.connectes }} participant(s) connecté(s)
👥 Participants
🎧 Contrôle de lecture
La musique joue sur l'appareil Spotify actif du compte relié (téléphone, ordinateur, enceinte…).
En cours : {{ lecteurAdmin.enCours.titre }} — {{ lecteurAdmin.enCours.artistes }}
🔊 Platine
Quatre boutons pour déclencher un son sur l'écran projeté (jingle, applaudissements…). Associez chaque bouton à un son ci-dessous.
Configurer les boutons & mes sons
Mes sons (liens audio YouTube)
🔎 Rechercher un titre / artiste
Recherche dans le cache de vos playlists, puis ajout direct à la file.
-
{{ t.titre }}
{{ t.artistes }}
Aucun titre trouvé dans le cache.
🎷 Ajouter des titres par style
Un clic ajoute un titre du style à la file d'attente (tiré au hasard dans sa playlist, filtres d'années compris). Seuls les styles avec une playlist apparaissent.
Aucun style avec playlist : configurez-les dans l'onglet Styles.
🔁 Répétition de piste
Garde-fou anti-relecture : un titre déjà joué pendant la soirée ne peut pas revenir avant ce délai, et un titre déjà présent dans la file d'attente n'y est jamais ajouté en double. S'applique aux votes des participants (chansons et styles) comme aux ajouts forcés par les boutons de styles ci-dessus. 0 h = on bloque seulement les doublons de la file (pas de délai de relecture).
📋 File d'attente
File d'attente Spotify (lecture seule). Spotify ne permet pas de retirer un titre déjà en file : pour en sauter un, utilisez ⏭ Suivant.
-
{{ lecteurAdmin.enCours.titre }} en cours {{ s }}
{{ lecteurAdmin.enCours.artistes }}
-
{{ t.titre }} {{ s }}
{{ t.artistes }}
Rien dans la file pour l'instant (la lecture doit être active).
🏷 Styles de « {{ tagInline.nom }} »
Ces styles s'appliquent à toutes les chansons de cet artiste.
Question au public
La question s'affiche en surimpression sur l'écran projeté et sur les mobiles. À la fin du temps, les résultats apparaissent à l'écran en histogramme.
Question en cours : « {{ etat.question.texte }} » — {{ etat.question.reponses.length }} réponse(s)
{{ questionsDepliees ? '▾' : '▸' }} Questions enregistrées {{ questionsEnregistrees.length }}
Posez-les d'un clic, ou planifiez-les : elles partiront toutes seules à l'heure dite. Un « ? » géant annonce la question sur l'écran quelques minutes avant (réglable ci-dessous).
{{ q.texte }}
{{ q.typeQuestion === 'ouinon' ? 'Oui / Non' : 'Choix : ' + q.options.join(' · ') }} · {{ q.dureeSec }} s 🕓 planifiée à {{ heure(q.planifieeA) }}
Aucune question enregistrée — utilisez « 🕓 Pour plus tard » ci-dessus.
⚔️ Battle de titres
Deux chansons s'affrontent : les participants votent depuis leur mobile, la gagnante part en file d'attente.
Battle en cours : « {{ etat.battle.candidats[0].titre }} » ({{ etat.battle.totaux[0] }} vote(s)) contre « {{ etat.battle.candidats[1].titre }} » ({{ etat.battle.totaux[1] }} vote(s))
Candidat {{ cote + 1 }}
✓ {{ battle.candidats[cote].titre }} — {{ battle.candidats[cote].artistes }}
Choisissez une playlist puis touchez un titre.
-
{{ t.titre }}
{{ t.artistes }}
✓ {{ battle.candidats[cote].nom }}
Touchez un artiste (issus de vos playlists en cache).
-
{{ a.nom }}
{{ a.nbTitres }} titre(s) en cache
🎷 {{ battle.candidats[cote].nom }}
Choisissez un style (le titre du gagnant sera tiré au sort).
🎁 Votes bonus — période
L'ouverture de la période active automatiquement le bouton bonus et le vote rapide pour la durée choisie. Un message « Bonus de votes ON » s'affiche sur l'écran projeté, avec une pièce 🪙 (bonus) et un éclair ⚡ (vote rapide) tant que les modes sont actifs.
⏳ Active jusqu'à {{ bonusFinTexte() }}.
① Bouton bonus 🪙
Chaque participant a un bouton « bonus » (pièces) qui donne d'un coup +{{ parametres.votesBonus.systeme1.points }} points à un titre ou un style.
② Vote rapide ⚡
Un participant peut demander un « vote rapide » (éclair) pour son titre : il est validé si {{ parametres.votesBonus.systeme2.validations }} participants votent oui en moins de {{ parametres.votesBonus.systeme2.delaiSec }} s.
③ Votes privilèges
Accordez à des participants ciblés un prochain vote « x up » pendant un délai. Choisissez des noms (le reste est complété au hasard parmi les connectés). Indépendant de la période de bonus.
Cibler des participants par leur nom ({{ privilege.nomsCibles.length }})
{{ privilegeMessage }}
🎅 Lettre au père Noël
Les participants déposent une demande (style, artiste ou titre, avec une période d'années en option) ; à l'heure du tirage, une lettre est tirée au sort et un titre correspondant est joué, avec une animation sur l'écran projeté. Tout s'enregistre automatiquement.
{{ pereNoelMessage }}
Paramètres des votes
Mes styles de musique
Associez une playlist à chaque style : quand un style gagne le vote, des titres y sont tirés au hasard (nombre réglable dans les paramètres de la soirée). Les filtres par années sont inactifs si le champ est vide. Le badge indique combien de titres restent disponibles après filtres : rouge = aucun, orange = moins de 10. Un style sans playlist n'est pas proposé aux participants. Ces réglages sont conservés d'une soirée à l'autre. Cochez 📥 Indexer pour qu'une playlist bien triée « remonte en base » : ses titres alimentent alors le « style à venir » et le tagging (désactivé par défaut pour ne pas polluer la base avec une playlist mal triée).
Aucune playlist en cache : mettez d'abord vos playlists en cache dans l'onglet 🎵 Ma Musique → carte Playlists.
Paramètres des styles
🎬 Vidéos
Diffusez une courte vidéo sur l'écran projeté. Lire l'affiche ; un nouvel appui sur Lire met en pause / reprend. Arrêter retire la vidéo de l'écran.
Vidéos prêtes
Aucune vidéo : ajoutez un raccourci YouTube ci-dessous.
Mes raccourcis YouTube
Programmation de projection
Programmez la diffusion d'une vidéo (choisie parmi vos vidéos prêtes) en surimpression sur l'écran projeté, à l'heure dite. Lecture auto : démarre dès l'affichage (sinon il faut cliquer sur la vidéo). Lectures : nombre de passages successifs. ∞ : rejoue en continu jusqu'à « Arrêter la diffusion ». La diffusion s'arrête seule une fois les lectures terminées.
Ajoutez d'abord une vidéo prête (vidéo « en dur » ou raccourci YouTube ci-dessus).
🎬 Vidéos automatiques
Lancez automatiquement une vidéo (choisie parmi vos vidéos prêtes) sur l'écran projeté quand vous activez une fonctionnalité. La vidéo démarre seule et disparaît une fois terminée. Deux cas particuliers : Pause des votes s'affiche en boucle dans la zone de pause (jusqu'à la reprise) et Bannissement accompagne l'explosion du nom du banni. Décochez la case pour désactiver une vidéo précise. Enregistrement automatique.
Ajoutez d'abord une vidéo prête (vidéo « en dur » ou raccourci YouTube ci-dessus).
Émojis & animations
🖥 Affichage projeté
👥 Participants {{ etat.connectes }} connecté(s)
Classés par score d'interaction (SSI) décroissant : titres soumis, votes, étoiles et émojis, pondérés par vos réglages.
| # | Prénom | Score | Arrivé à | |
|---|---|---|---|---|
| {{ i + 1 }} | {{ p.prenom }} | {{ p.ssi != null ? p.ssi : '—' }} | {{ heure(p.arriveA) }} |
Personne n'a encore rejoint la soirée.
Propositions
-
style {{ p.type === 'chanson' ? p.titre : p.nomStyle }}
{{ p.type === 'chanson' ? p.artistes + ' · ' : '' }}par {{ p.proposePar }}
{{ p.score }} pts ✓ {{ p.valideeA ? heure(p.valideeA) : 'validée' }}
Aucune proposition en vote pour l'instant.
Aucune proposition validée pour l'instant.
📅 Événements de la soirée
Pauses, remerciements, remises de prix… Chaque événement a un nom, un émoji, une heure et une durée prévisionnelle. La liste s'affiche périodiquement sur l'écran projeté, et un préavis clignotant annonce chaque événement avant son début.
Affichage sur l'écran projeté
💬 Chat de la soirée
🚫 Chat fermé pour ({{ participantsChatFerme.length }})
Messages
Aucun message pour l'instant.
Cliquez sur un prénom pour lui répondre — double-cliquez pour lui fermer le chat (re-double-clic pour le rouvrir).
💃 CarnetBal (DanceWith)
Les participants peuvent s'inviter à danser un titre à venir (appui long sur la moitié gauche d'un titre dans leur Playlist). Les danses acceptées apparaissent ci-dessous et dans l'onglet « DanceWith » de chaque partenaire.
| Heure | Titre | Partenaires |
|---|---|---|
| {{ d.joueraVersA ? heure(d.joueraVersA) : '—' }} | {{ d.titre }} — {{ d.artistes }} | {{ d.de }} 💃 {{ d.vers }} |
Aucune danse acceptée pour l'instant.
📣 Messages de diffusion
Composez des messages affichés en surimpression sur l'écran projeté : à intervalle régulier ou un nombre de fois défini, dans une plage horaire optionnelle. Le bouton « Flash » fait scintiller l'écran pour attirer l'attention.
🎛 Messages programmés
| Titre | Cadence | Plage | État | Diff. | Actions |
|---|---|---|---|---|---|
| {{ m.titre || '(sans titre)' }} | {{ m.nombreMax }}× / {{ m.frequenceMin }} min toutes les {{ m.frequenceMin }} min · {{ m.dureeSec }}s | {{ m.plageDebut && m.plageFin ? m.plageDebut + '–' + m.plageFin : '—' }} | ● actif ⏸ en pause ✔ terminé | {{ m.nbDiffusions }} |
Aucun message pour l'instant. Créez-en un ci-dessus.
📈 Synthèse en direct
{{ courbeLive.label }} dans le temps
Pas encore de relevé (un toutes les {{ parametres.statsIntervalleMin || 1 }} min de soirée active).
Réactions (émojis) — total {{ statsLive.totalEmojis }}
{{ e.emoji }} {{ e.nb }}
Aucune réaction pour l'instant.
Top 10 des titres aux étoiles
| {{ i + 1 }}. | {{ t.titre }} — {{ t.artistes }} | {{ t.etoiles }} ★ ({{ t.nbVotes }}) |
Aucune évaluation pour l'instant.
Appréciation des styles (pouces cumulés)
| Style | 👍 | 👎 | Résultante |
|---|---|---|---|
| {{ s.style }} | {{ s.up }} | {{ s.down }} | {{ s.resultante }} |
- {{ p.style }} ({{ p.pct }}%)
Aucun vote de style pour l'instant.
Titres réellement joués (par style)
| Style | Titres joués |
|---|---|
| {{ s.style }} | {{ s.nb }} |
- {{ p.style }} ({{ p.pct }}%)
Aucun titre joué avec un style identifié pour l'instant.
Chargement…
Taux de participation
Le taux = participants connectés / personnes présentes (estimation réglée dans l'onglet Général). La courbe est dans le sous-onglet Live ; un relevé est aussi pris au début et à la fin de chaque question et battle.
Moyenne aux questions : {{ stats.participation.moyennes.question != null ? stats.participation.moyennes.question + ' %' : '—' }} · aux battles : {{ stats.participation.moyennes.battle != null ? stats.participation.moyennes.battle + ' %' : '—' }}
Relevé des interactions (début → fin)
| Heure | Interaction | Phase | Connectés | Taux |
|---|---|---|---|---|
| {{ heure(r.a) }} | {{ r.type === 'question' ? '📢' : '⚔️' }} {{ r.libelle || r.type }} | {{ r.phase === 'debut' ? 'début' : 'fin' }} | {{ r.connectes }} | {{ r.taux != null ? r.taux + ' %' : '—' }} |
Aucune question ni battle relevée pour l'instant.
Cliquez « Actualiser » dans la carte ci-dessous pour charger les relevés.
Statistiques d'écoute
{{ stats.nbTitresJoues }} titre(s) joué(s)
Par style (playlist d'origine)
| {{ s.style }} | {{ s.nb }} |
Aucun titre joué ne provient (encore) d'un style validé.
Par genre Spotify
| {{ s.style }} | {{ s.nb }} |
Pas encore de genres collectés (l'API Spotify ne renseigne pas le genre de tous les artistes).
Statistiques de toutes mes soirées
{{ statsGlobales.nbSoirees }} soirée(s) · {{ statsGlobales.nbTitresJoues }} titre(s) joué(s) · {{ statsGlobales.connectesMoyenParSoiree }} connecté(s) en moyenne · taux moyen {{ statsGlobales.tauxMoyenParSoiree }} %
Évolution chronologique des styles les plus demandés
| Soirée | Titres | Connectés moy. | Styles en tête |
|---|---|---|---|
| {{ s.nom }} ({{ dateCourte(s.date) }}) | {{ s.nbTitresJoues }} | {{ s.connectesMoyen != null ? s.connectesMoyen + (s.tauxMoyen != null ? ' (' + s.tauxMoyen + ' %)' : '') : '—' }} | {{ s.topStyles.map(t => t.style + ' (' + t.nb + ')').join(' · ') || '—' }} |
Top 10 des titres les plus populaires (note moyenne dès qu'un titre dépasse 10 notes, sinon total d'étoiles)
| {{ i + 1 }}. | {{ t.titre }} — {{ t.artistes }} | {{ t.moyenne != null ? t.moyenne + ' ★ moy. (' + t.nbVotes + ' notes)' : t.etoiles + ' ★' }} |
Pas encore d'évaluations aux étoiles.
🌙 Fin de soirée
Le bilan (titres joués, top styles, titres préférés aux étoiles, émojis, participants les plus actifs) s'affiche sur l'écran projeté et sur les mobiles — chacun y voit en plus son classement personnel.
Playlist « {{ playlistSoiree.nom }} » créée ({{ playlistSoiree.nbTitres }} titres) — ouvrir dans Spotify
🔗 Partager la playlist de soirée
À la fin de la soirée, la playlist des titres joués est générée sur Spotify et proposée aux participants en bas du bilan : soit un lien cliquable, soit (mode e-mail) un champ pour qu'ils la reçoivent par courriel (envoi à venir).
✅ Playlist partagée aux participants — ils peuvent saisir leur e-mail en bas du bilan. — ouvrir dans Spotify
⏰ Fin programmée
Définissez l'heure prévue de fin : un événement « Fin de soirée » est créé (modifiable dans l'onglet Événements). Vous pouvez afficher le bilan automatiquement après la fin, et annoncer les dernières chansons.
{{ alerteDJ.type === 'demande_titre' ? '🎵 Demande de titre' : '📨 Message pour le DJ' }}
{{ alerteDJ.dePrenom }}
{{ alerteDJ.texte }}