Des cartes vraiment secrètes
Masquer les cartes des autres côté front aurait suffi à l'écran, mais leur contenu serait resté lisible dans l'onglet Réseau du navigateur. Même chose pour les totaux de votes.
Le serveur n'envoie jamais un état commun à la salle : pour chaque socket, une fonction pure construit la vue de ce participant, sans le contenu des cartes des autres pendant l'écriture ni les totaux pendant le vote. L'auteur d'une carte n'est jamais transmis.
// Pour CHAQUE participant connecté : sa propre vue du tableau
for (const socket of sockets) {
const view = buildView(data, socket.data.participantId, online)
socket.emit('board:state', view)
}
// Dans buildView() : ce qui ne doit pas quitter le serveur
content: hideOthers && !mine ? null : card.content,
votes: showTotals ? (votesByCard.get(card.id) ?? 0) : null,







