Kappapps logo v0.31.4
FR Start with Twitch
Browse the full Kappstore
Tier-List

Tier-List

Tools and utilities by Kappapps
A live tier-list app where your viewers vote from chat or a dedicated plugin to rank your items, while you host and fine-tune the results in real time.
Install on my channel

Streamer guide

# Tier-list — Côté streamer / admin Une appli de tier-list pilotée par le tchat **et** un dashboard plugin streamer. ## Plugin streamer (dashboard) Accessible au streamer et à ses admins. **Agencement** — le panneau est découpé en trois zones à hauteur fixe, de façon que rien de fréquent ne demande de scroller : 1. **En-tête figé** : titre, sous-titre (« N placés · M en attente »), les toggles **Mode** et **Vote ON/OFF**, **Terminer** et **Nouvelle tier-list**, puis les onglets. 2. **Corps scrollable** : les panneaux de l'onglet courant. 3. **Barre d'action en pied** *(onglet Direct, Vote ON)* : rappel du décompte de votes à gauche, **× Supprimer** et **Suivant ▶** à droite. Toujours atteignable, quel que soit le nombre d'items placés. ### Onglet « Direct » Toute la boucle de jeu : voir le vote courant, ajuster les placements, gérer le backlog, ajouter des items — sans changer d'onglet. Ordre des panneaux : Item courant → Ajouter un item → Placés → Backlog. - **Item courant** *(Vote ON uniquement)* : voir les votes en direct (barres par catégorie). L'image est **cliquable** pour la modifier (si l'item n'en a pas, un bouton **➕ Image** prend sa place). L'auteur de l'ajout est en infobulle sur le nom. Les actions **Suivant ▶** (clore le vote) et **× Supprimer** (jeter sans placer — votes en cours perdus, l'item suivant est tiré du backlog) sont dans la barre d'action en pied de panneau, pas dans le panneau lui-même. - **Voter depuis le dashboard** : **cliquer la pastille colorée** d'une catégorie dépose le vote du streamer, qui est un vote **comme un autre** — même dédup, même poids, il compte dans le décompte affiché aux viewers. La pastille votée est cerclée de blanc. Le surlignage vient de l'appli, donc il reste juste même si le streamer a voté depuis le chat (`!s`) ou depuis le plugin viewer. Un seul vote à la fois : recliquer une autre catégorie déplace le vote. Le streamer n'a **pas** de raccourci pour forcer le placement de l'item en cours : il garde la main *après* la clôture du vote, en repositionnant l'item par drag dans le panel « Placés ». ⚠️ Les events du plugin streamer ne portent pas d'identité de viewer (contrainte du SDK) : un **admin** qui clique une pastille vote donc au nom du streamer. Pour voter en son nom propre, un admin passe par le chat ou le plugin viewer. - **👥 Voir les votants** *(Item courant)* : déplie le détail « qui a voté quoi » sous chaque barre de catégorie. Masqué par défaut — et tant qu'il l'est, l'appli **ne calcule ni ne transmet** ce détail. Sur un vote massif la liste est plafonnée (les premiers votants par ordre d'arrivée, puis « +N autres ») pour rester lisible et légère — le compteur de la barre reste, lui, toujours exact. Un votant dont le nom d'affichage n'est pas connu apparaît en « viewer anonyme ». Cette information ne va qu'au streamer : les viewers ne voient jamais qui a voté quoi. - **Mode placement manuel** *(Vote OFF uniquement)* : pas de notion d'item courant. Un bandeau jaune indique le mode. Drag les items depuis le backlog vers une catégorie du panel Placés. Pas de barre d'action dans ce mode. - **Placés** : panel groupé par catégorie listant tous les items déjà placés, à **hauteur bornée** (il défile pour lui-même au lieu d'allonger la page). L'entête de chaque catégorie **reste collée en haut** pendant le défilement, et chaque groupe porte un liseré à la couleur de sa catégorie : on sait toujours à quelle catégorie appartient ce qu'on regarde. Une catégorie vide se réduit à son entête (marquée « vide ») au lieu d'occuper la place d'une catégorie pleine. Chaque groupe est **repliable** via son entête — le compteur d'items reste visible replié, et un groupe replié ou vide **accepte toujours les drops** (l'entête sert de cible). Le repli n'est pas mémorisé d'une session à l'autre. Drag-and-drop d'un item d'une catégorie à l'autre pour **forcer son placement** (override manuel). Accepte aussi les drops depuis le backlog (placement direct). Les items sont disposés en **grille qui se remplit** (plusieurs tuiles par ligne selon la largeur disponible), pas en colonne : une vignette et un nom court n'occupent qu'une fraction de la largeur, les empiler gâchait toute la hauteur du panel. Boutons de tuile (**↻** re-soumettre au vote, **✏️** modifier l'image, **×** supprimer définitivement) : en surimpression à droite de la tuile, révélés au survol — sur écran tactile, ils reprennent une colonne à eux et restent visibles. Un item « image seule » affiche un libellé *sans nom* grisé plutôt qu'une tuile vide. - **Backlog** : drag-and-drop pour réordonner. Les items sont aussi draggables vers le panel Placés (placement direct sans vote — utile principalement en Vote OFF). Mêmes boutons ✏️ / × au survol. - **Ajouter un item** : nom et/ou URL image — l'un des deux suffit (item "image seule" ou "texte seul" tous deux acceptés, mais pas les deux vides). ### Onglet « Catégories » - Éditer les labels et couleurs en direct (l'id de vote reste stable), en ajouter, en supprimer (les items déjà placés sont remontés vers la catégorie voisine). Action rare → onglet dédié pour ne pas polluer le flux Direct. ### Onglet « Historique » - Liste des tier-lists archivées. **Reprendre** une tier-list archivée (la courante est archivée d'abord si présente). Le panneau bascule alors automatiquement sur l'onglet **Direct** : c'est là qu'on va travailler, et l'entrée d'historique qu'on vient de reprendre a disparu de la liste. Idem après **Nouvelle tier-list**. ### Header (toujours visible) - **Mode** : basculer entre Strict / Absolu en cours de route. - **Vote ON/OFF** : kill-switch global du vote viewers pour cette tier-list. Quand OFF, les votes chat ET plugin viewer sont ignorés ; le streamer place les items à la main (Suivant les met dans la catégorie du milieu, ensuite drag dans l'onglet « Tier-list » pour ajuster). Le bouton viewer affiche un cadenas "vote désactivé". - **Terminer** : archive la tier-list active vers l'historique. Demande confirmation. - **Nouvelle tier-list** : crée une nouvelle tier-list (archive la courante d'abord si présente, avec confirmation). La valeur initiale de Vote ON/OFF est lue depuis la préférence **« Autoriser le vote des viewers par défaut »**. Ces deux actions sont destructives mais restent des **boutons en clair** : ce sont des fins de séquence courantes, et c'est la confirmation qui protège du clic accidentel, pas le fait de les cacher. ## Commandes chat (streamer + admins uniquement) | Commande | Effet | |---|---| | `!tierlist add <nom> [<url image>]` | Ajoute un item au backlog. URL optionnelle. **Si l'item existe déjà** (courant, backlog ou placé) et qu'une URL est fournie, son image est mise à jour. Utiliser juste une URL (sans nom) ajoute un item "image seule". | | `!suivant` (ou `!next`) | Clôt le vote, place l'item courant, passe au suivant. | | `!s`, `!a`, ... | Vote pour la catégorie correspondante. | Les noms des commandes `tierlist` et `suivant` sont personnalisables dans les préférences (onglet Global). Un changement nécessite un redémarrage de l'appli pour être pris en compte. L'alias `!next` reste toujours actif. ## Items sans nom (« image seule ») Un item peut n'avoir qu'une image. Ce cas est traité partout comme un item à part entière : - **Anti-doublon** : un item nommé est dédupliqué sur son nom ; un item sans nom l'est sur **l'URL de son image** (normalisée). Rajouter deux fois la même URL sans nom est refusé — « Cette image est déjà dans la tier-list. » Il n'y a rien à mettre à jour dans ce cas (l'image *est* la clé de comparaison), donc c'est un refus sec, pas une mise à jour d'image comme pour un item nommé. - **Annonces** : les messages qui citent l'item (`voteStart`, `itemPlaced`) affichent « cet item » plutôt qu'un blanc. La variable de template `#item#` ne change pas. - **Enchaînement** : deux items sans nom qui se suivent déclenchent bien **deux** annonces d'ouverture de vote, et le vote surligné dans le plugin viewer est bien remis à zéro entre les deux. ## Plugin viewer (extension admin) Pour les admins, le plugin viewer affiche en plus de l'UI de vote : - Un champ "Ajouter un item" (nom et/ou URL — l'un des deux suffit). - Une liste du backlog avec bouton de suppression. L'édition des catégories et le passage à l'item suivant restent réservés au plugin streamer (ou aux commandes chat). ## Préférences - **Global** : mode d'échelle par défaut (strict / absolu), **vote des viewers par défaut** (kill-switch initial pour les nouvelles tier-lists), catégories par défaut, activation du vote chat (sous-canal, masqué si le vote chat n'est pas pertinent), noms des commandes. - **Style** : zone de l'overlay (canvas 1920×1080), couleurs, transition d'item, affichage de la rangée backlog sous le tableau. - **Messages** : announces (chat / TTS / écran) déclenchés à 4 moments-clés, anti-flood par design : - `voteStart` — à chaque nouvel item ouvert au vote (avec lien plugin viewer). - `itemPlaced` — à la clôture d'un vote (`!suivant` / Suivant). - `tierListStart` — au démarrage d'une nouvelle tier-list. - `tierListEnd` — à l'archivage d'une tier-list. Chaque announce est désactivable canal par canal (chat/TTS/écran). Aucune annonce n'est émise sur les votes individuels (sinon flood garanti). - **Avancé** : throttle de broadcast, debounce de persistance, taille max de l'historique. ## Modes d'échelle - **Strict** : l'item est placé dans la catégorie majoritaire (égalité = catégorie la plus haute). - **Absolu** : position continue selon la moyenne pondérée des votes — l'item peut chevaucher visuellement deux catégories adjacentes. Le mode est modifiable en direct depuis le dashboard streamer (bouton "Mode"). ### Indicateur "vote contesté" (mode strict uniquement) Quand le vote est bimodal/trimodal — la cat majoritaire a ≤ 50% du total et il y a ≥ 2 votes au total — le flottant prend une bordure pointillée pulsée orange et la ligne de votes affiche `⚖️ contesté` (avec le détail : égalité entre cats, ou pourcentage du leader). Sert à signaler aux viewers minoritaires que leur vote a bien été compté même si le résultat strict ne tombe pas chez eux. Le placement final reste la cat majoritaire par tie-break (index le plus bas). ## Overlay — adaptation au nombre de catégories Le tableau s'adapte tout seul à la configuration, sans réglage à faire : - La vignette de l'item courant (le flottant) est **dimensionnée d'après la hauteur de rangée** : elle rétrécit quand il y a beaucoup de catégories, au lieu de déborder sur les rangées voisines. Elle reste par ailleurs toujours dans les limites du tableau, y compris sur la première et la dernière catégorie. - Les pastilles de vote du flottant tiennent sur une ligne jusqu'à 7 catégories, puis passent sur deux lignes (au-delà, elles deviennent trop étroites pour leur chiffre). - Les items déjà placés (image + nom, ou nom seul) réduisent leur taille pour tenir dans la hauteur de rangée. Un nom trop long est tronqué proprement avec des points de suspension plutôt que coupé à mi-hauteur. ## Permissions - **Streamer** : tout. - **Admin** (rôle Twitch/Kappapps `admin`) : ajout d'items (chat ou plugin), vote, **et** accès au plugin streamer. - **Viewer lambda** : vote uniquement (chat ou plugin).