WP (SSO) + LMS + Discourse : conseils et meilleures pratiques ?

Bonjour !

Je parcours encore les anciens fils de discussion concernant l’utilisation de WP SSO, mais je me demandais si partager notre feuille de route pourrait susciter des conseils. Y a-t-il des pièges à éviter ? Des choses qu’il ne faudrait pas faire ?

Notre Stack :

  • WordPress (fondation)
  • MemberPress (gère les comptes utilisateurs)
  • LearnDash (LMS, création de cours)
  • Discourse (communauté privée pour les membres)

Notre expérience d’intégration souhaitée :

  1. Le visiteur arrive sur notre site WP (marketing de contenu) et se convertit en membre payant.
    – Nous envisageons une période d’essai gratuite de 24 heures (avec conversion automatique).
  2. Le plugin WP Discourse (SSO) crée un compte Discourse (niveau TL0).
  3. Le niveau TL0 obtient un accès en lecture seule à la majorité des catégories.
  4. La promotion de TL0 à TL1 nécessite 5 minutes pour publier une présentation.
  5. Après 24 heures, la carte du membre est débitée, l’adhésion devient officielle, et il est automatiquement promu au niveau TL1.

WP SSO gérerait les comptes afin que seuls les membres payants ou actifs aient accès au contenu de la communauté et du LMS.

Je me demande s’il existe une méthode plus simple ou meilleure pour réaliser cela. Réduire les frictions pour les nouveaux membres est important, mais il est tout aussi crucial de garantir une évolutivité à long terme, vous voyez ce que je veux dire ?

Je vous remercie par avance pour vos éclairages. Merci.

D’après votre liste d’intégration, il semble que vous souhaitiez remplacer le système de niveaux de confiance de Discourse. Je pense qu’une meilleure approche consisterait à utiliser l’appartenance aux groupes Discourse pour contrôler l’accès au contenu de votre site. Pour plus de détails sur le fonctionnement de cette méthode, consultez Understanding groups and category permissions.

Le plugin WP Discourse propose plusieurs fonctions permettant d’ajouter et de supprimer des utilisateurs de groupes. Les détails sont disponibles dans ce sujet : Manage group membership in Discourse with WP Discourse SSO. Ce sujet utilise le plugin PaidMembershipsPro comme exemple, mais le même principe devrait fonctionner avec MemberPress.

Un autre sujet qui pourrait contenir des informations utiles est How to prevent some WP users from being able to login to Discourse.

Merci, Simon. Je m’assurerai de lire ces sujets en premier ou ensuite. Je vous en suis reconnaissant.

Ces discussions ont été très utiles. J’ai installé et connecté WP Discourse à Discourse. J’ai même peut-être de nouvelles idées (meilleures) pour notre expérience d’intégration. Merci, @simon !

Je me suis cependant abstenu de prendre des décisions concernant l’authentification unique (SSO). Plus je lis à ce sujet, plus mon esprit tourne en rond et je me sens étourdi. Pourrais-je vous solliciter pour quelques conseils supplémentaires sur ce sujet ?

Étant donné : WordPress & MemberPress + Discourse + LearnDash… et le souhait de mettre tout ce qui n’est pas un article de blog derrière un paiement…

Si Discourse est le CLIENT SSO, nous utiliserions MemberPress pour gérer les comptes dans WordPress et l’accès aux cours LearnDash. C’est ainsi que nous avons abordé les choses depuis le début, ce qui est donc logique en soi, même si ce n’est pas nécessairement conforme aux meilleures pratiques en matière de mise en œuvre ou d’évolutivité.

Si Discourse est le FOURNISSEUR SSO, nous devrions trouver et mettre en œuvre un système de paiement côté Discourse (rien de ce que j’ai vu jusqu’ici ne m’inspire vraiment confiance, pour être honnête). Si nous pouvions nous passer de MemberPress côté WordPress, cela pourrait valoir le coup de changer, mais je ne suis pas sûr de savoir comment cela fonctionnerait avec le souhait d’avoir des utilisateurs synchronisés dans WordPress accédant au contenu LMS à des prix spéciaux réservés aux membres, tandis que le grand public verrait les prix complets.

Est-ce que cela a du sens ? J’ai essayé d’être clair, mais je commence à me sentir un peu perdu.

J’ai l’impression qu’un seul e-mail à Jay réglerait cela, mais chaque dollar dépensé en développement est un dollar que nous n’avons pas pour le reste de nos plans de démarrage. (On a de plus en plus l’impression que nous devrions nous en remettre à Jay.) :wink:

Merci.

Développement intéressant sur cette pile/frontend. @simon, je suis curieux de savoir ce que tu en penses.

  • MemberPress gère les adhésions et le traitement des paiements. Assez simple.
  • MemberPress est conçu pour gérer l’accès au contenu local de WordPress.
  • MemberPress n’a aucune autorité pour limiter l’accès à Discourse via SSO.

Ce que j’ai découvert, c’est que lorsqu’une carte de crédit est refusée, l’adhésion est suspendue, mais comme l’utilisateur peut toujours se connecter à WordPress, il conserve l’accès à Discourse via SSO.

Combien de travail cela représenterait-il de faire en sorte que le plugin SSO prenne en compte le statut d’adhésion (provenant de MemberPress) avant d’autoriser une connexion à Discourse ?

J’ai l’impression que la façon dont nous avons intégré les choses à ce stade est rentable et assez simple, et que si le plugin SSO gère cela, nous serons tranquilles pour un avenir prévisible. Cependant, je sens aussi que cette voie pourrait mener à un travail de développement personnalisé de grande envergure.

Plus nous parvenons à garder les choses proches du Discourse standard, mieux nous nous porterons, à mon avis.

Merci encore pour tes conseils. Désolé de te déranger, Simon. :slight_smile:

Si vous parvenez à déterminer comment MemberPress identifie les utilisateurs autorisés à accéder au contenu protégé sur WordPress, ces mêmes données pourront être utilisées pour restreindre les connexions SSO vers Discourse. Pour cela, vous devrez ajouter une instruction conditionnelle aux deux fonctions mentionnées dans le deuxième message de ce sujet : Comment empêcher certains utilisateurs WP de se connecter à Discourse. L’instruction conditionnelle doit renvoyer true si le compte de l’utilisateur a été suspendu.

Ce que vous souhaitez réaliser est faisable, mais vous devrez peut-être faire appel à un développeur WordPress pour déterminer ce qu’il faut inclure dans l’instruction conditionnelle des deux fonctions que j’ai liées.

Merci comme toujours, Simon.

Je l’avoue, mon cerveau a un peu mal maintenant après avoir passé ce code en revue, mais je vais le faire. :slight_smile:

Il se peut qu’il y ait quelqu’un sur ce site qui puisse vous aider si vous créez un sujet dans notre catégorie Marketplace. Je vois un ancien sujet du marketplace qui ressemble à ce que vous essayez de réaliser : [HIRING] Integrate our Discourse with Memberpress for membership site.

Merci pour le conseil, Simon. Je vais jeter un coup d’œil !