Activer le bouton J'aime pour les visiteurs non connectés

Serait-il possible que le bouton « J’aime » n’ouvre pas le formulaire de connexion ? Dans mon scénario, il devrait fonctionner sans connexion…

Non, ce n’est pas possible. Nous stockons l’utilisateur qui a liké un post, et ces informations sont utilisées à de nombreux endroits, il n’est donc pas facile de modifier cela.

7 « J'aime »

Existe-t-il des concepts pour des contrôles alternatifs comme des « étoiles » ou un bouton « OK » permettant aux utilisateurs non connectés d’interagir ?

Aucun qui ne concerne Discourse, tout est lié aux comptes utilisateurs ; si l’utilisateur n’est pas connecté, il n’y a rien à enregistrer.

3 « J'aime »

Quelqu’un pourrait-il décrire les meilleures pratiques pour personnaliser le contrôle Like ? Je débute dans cette pile technologique ; mes seules connaissances concernant Discourse proviennent d’expériences avec PHP, mais pas avec les technologies ci-dessus.

Pourriez-vous développer ce point ?

Je veux dire que vous pouvez modifier l’apparence du bouton, mais au-delà de cela, les choix sont très limités.

Je parlais d’une personnalisation fonctionnelle : je souhaite modifier la logique afin que le bouton « J’aime » fonctionne sans connexion. Mais je ne connais pas la structure modulaire de Discourse. Recommanderiez-vous un plugin ou une modification directe en PHP ? Et où pourrais-je apporter cette modification sans compromettre l’intégrité du code ? Que devient le fragment de code modifié lors des mises à jour, etc. ?

Le cœur de Discourse n’est pas écrit en PHP.

Vous devrez créer un plugin extrêmement personnalisé pour que cela fonctionne, mais cela constituerait une violation du RGPD.

Sans compter qu’une telle fonctionnalité est très facile à exploiter : toute personne disposant d’une connaissance raisonnable de la manière de faire de l’ingénierie inverse sur les cookies du navigateur pourra publier des likes infinis sur des messages aléatoires.

2 « J'aime »

Bonjour Bhanu, penses-tu que je vais beaucoup apprendre de cette réponse pour résoudre le problème ?

J’ai essayé de répondre aux questions que vous avez soulevées dans le message ci-dessus. Je vous suggère de ne pas modifier les fonctions principales, sauf si vous souhaitez rendre vos mises à jour définitivement inutilisables.

2 « J'aime »

D’accord. Merci, Bhanu. Maintenant je sais ce qu’il ne faut pas faire :wink:

2 « J'aime »

Je vois un certain intérêt dans un clone de la fonctionnalité StackOverflow où les clics anonymes sur les boutons de vote sont enregistrés dans la base de données, mais ne sont pas publiés directement.

Je souhaiterais voir un plan extrêmement solide expliquant comment les données sont censées être utilisées avant de commencer l’implémentation (pensez au RGPD : « Que allez-vous faire de ces données concernant les visiteurs anonymes ? »). La publication directe sur le post est hors de question, car il est extrêmement facile de tricher en ce qui concerne les actions des visiteurs anonymes.

4 « J'aime »

Quelqu’un connaît-il une méthode (bonnes pratiques) :
a) pour personnaliser fonctionnellement le bouton J’aime, ou
b) pour créer un contrôle supplémentaire qui compte les clics (un maximum par adresse IP), avec un total des clics pouvant être affiché dans la zone d’administration ?

Si cela ne nécessitait que du JavaScript, je ne poserais pas la question, mais la solution doit inclure une persistance…

Ce n’est pas vraiment un sujet d’assistance ; personne ne fait cela aujourd’hui. Ce que vous demandez est assez complexe et nous ne pouvons certainement pas vous aider facilement.

À moins que vous ne soyez familier avec JavaScript et Ruby, ce que la solution exige plus probablement, c’est de l’argent :money_with_wings:.

Si vous avez un budget et que cette fonctionnalité est vraiment importante pour vous, peut-être pourriez-vous démarrer un sujet dans Marketplace ?

Sinon, je commencerais plutôt dans Development, car vous allez devoir créer un plugin d’une forme ou d’une autre.

1 « J'aime »

Ah, donc les meilleures pratiques pour modifier la logique dans ce cas sont les plugins ? Ok, c’est bien noté. Merci !

1 « J'aime »

Si vous prévoyez de le faire vous-même, consultez :

Guide du débutant pour créer des plugins Discourse (1) (2) (3) (4) (5) (6) (7)

Et consultez le guide dans dev-install pour configurer un environnement de développement afin de commencer.

1 « J'aime »

Petite anecdote : @sam a plaidé en faveur de cette fonctionnalité à l’époque et il avait raison !

Les données obtenues étaient très, très intéressantes. Si l’on comparait les votes anonymes aux votes des utilisateurs connectés, de grandes disparités indiquaient généralement un sujet nécessitant une intervention des modérateurs.

7 « J'aime »