Empreinte Discourse 
Empreinte Discourse est un outil conçu pour les gestionnaires de communauté dans leur combat contre les trolls d’Internet.
Il fonctionne en calculant un identifiant unique (une empreinte) pour chaque utilisateur inscrit, en tenant compte de plus de 20 caractéristiques du navigateur, telles que l’agent utilisateur, la résolution d’écran, le fuseau horaire, la mémoire de l’appareil, etc.
Lorsque chacune de ces caractéristiques du navigateur est considérée séparément, elles ne suffisent pas à déterminer si deux utilisateurs sont identiques. Il existe un nombre relativement restreint d’agents utilisateurs, de résolutions d’écran, etc. Cependant, lorsque l’on prend en compte l’ensemble de ces 20 facteurs, la probabilité que deux utilisateurs aient la même clé est extrêmement faible.
Moment des mathématiques : Supposons qu’il n’existe que 20 caractéristiques de navigateur et seulement 4 valeurs possibles pour chacune d’elles (note : il existe plus de 20 caractéristiques de navigateur avec bien plus de 4 valeurs), cela signifie qu’il y a 420 combinaisons (empreintes). Cela représente 1 099 511 627 776 combinaisons… et il n’y a que 7 640 175 882 personnes sur Terre. Bon, certaines caractéristiques de navigateur peuvent être inutiles (par exemple, le fuseau horaire sera le même pour tous les utilisateurs d’un forum communautaire local)… mais il est peu probable que les forums aient 7,6 milliards d’utilisateurs non plus. ![]()
Comment cela fonctionne-t-il ?
Lorsqu’un utilisateur navigue sur un forum, il se voit attribuer une empreinte et le résultat est stocké avec les quelques dernières empreintes (par défaut, les 10 dernières empreintes). Les administrateurs peuvent ensuite utiliser une interface simple pour vérifier les correspondances récentes d’empreintes (conflits) et déterminer si un utilisateur est en conflit avec un autre.
Le plugin n’a absolument aucun impact sur les utilisateurs et il calcule l’empreinte de l’utilisateur 3 secondes après le premier chargement de la page.
À quoi cela ressemble-t-il ?
Considérons un petit scénario de test :
- Les utilisateurs Dan, Oliver et Jack ont utilisé un certain appareil (sessions incognito et normales).
- Les utilisateurs Harry, Jacob et William ont utilisé un autre appareil (également sessions incognito et normales).
- À un certain moment, l’utilisateur William s’est connecté en utilisant exactement la même machine et le même navigateur qu’Oliver.
Le tableau de bord indiquera qu’il y a deux conflits. L’un oppose Dan, Oliver, Jack et William, et l’autre implique Harry, Jacob et William. Veuillez noter que la relation de conflit n’est pas transitive (c’est-à-dire que Dan est en conflit avec William, Harry est également en conflit avec William, mais Dan n’est pas en conflit avec Harry).
Une vue détaillée de Dan nous indiquera quelles sont ses empreintes, quand elles ont été vues pour la première et la dernière fois, et avec qui il est en conflit pour cette signature.
Une vue détaillée de William nous donnera des informations similaires, mais cette fois en affichant deux empreintes.
Un administrateur peut choisir d’agir en conséquence ou cliquer sur le bouton « ignorer » pour masquer ce conflit. Veuillez noter que même si vous ignorez un conflit, il continuera d’apparaître dans les « derniers conflits » tant que de nouveaux conflits n’auront pas été détectés.
Comment l’installer ?
Suivez le guide Installer un plugin, en utilisant git clone https://github.com/discourse/discourse-fingerprint.git comme commande pour le plugin.
En gros, modifiez votre fichier app.yml pour inclure la commande spécifiée ci-dessus.



