Connectez WP Discourse à Discourse

Après avoir installé le plugin WP Discourse, vous devez le connecter à votre Discourse. Lorsque vous êtes prêt, regardez cette courte vidéo ou suivez les instructions ci-dessous.

Prochaine étape

Une fois le plugin connecté, rendez-vous sur le sujet décrivant la fonctionnalité que vous souhaitez configurer :


Instructions

Étapes

Lorsque vous consultez l’onglet Connexion des paramètres du plugin WP Discourse, un avis s’affiche toujours en haut de la page pour vous indiquer si la connexion à votre Discourse est établie. Pour établir une connexion, entrez :

  1. Entrez l’URL de votre forum dans le champ de réglage URL de Discourse.

  2. Vérifiez le réglage Nom d'utilisateur de publication. Sauf raison spécifique, laissez-le sur « system ». Si vous le modifiez, il doit s’agir du nom d’utilisateur d’un administrateur sur votre Discourse. Vous pouvez trouver le nom d’utilisateur d’un utilisateur sous son nom en cliquant sur son avatar.

  3. Créez une clé API Discourse pour WordPress :

    1. Accédez à votre panneau d’administration Discourse (dans votre forum Discourse) et cliquez sur « API ».

    2. Créez une nouvelle clé avec les informations suivantes :

      • Description : entrez une étiquette qui indique clairement l’objectif de cette clé.
      • Niveau d’utilisateur : sélectionnez « Tous les utilisateurs ».
      • Portée : sélectionnez « Globale ».
    3. Copiez la clé qui apparaît à l’écran et cliquez sur « Continuer ».

  4. Collez la clé API dans le réglage Clé API de WP Discourse.

Une fois ces paramètres remplis, assurez-vous de cliquer sur le bouton « Enregistrer les options ». Si tout est correctement configuré, vous devriez voir un message indiquant « Vous êtes connecté à Discourse » en haut de la page.

Multisite

Le plugin WP Discourse dispose d’une option de configuration Multisite pour le cas où un forum Discourse est connecté à un réseau de plusieurs WordPress. Cette option est disponible dans l’onglet des paramètres de connexion du site principal d’un réseau.

Sa sélection permet que certains des paramètres du plugin soient utilisés sur l’ensemble du réseau (toutes les options de connexion, les options Webhook, la clé secrète DiscourseConnect et le paramètre Activer DiscourseConnect). L’activation de ce paramètre créera une table de base de données supplémentaire utilisée pour associer les topic_ids Discourse aux blog_ids WordPress lors de la publication d’articles de WordPress à Discourse.

Fonctionnalités non prises en charge en Multisite

L’utilisation de WordPress comme client DiscourseConnect n’est pas prise en charge sur les Multisites WordPress.

Clé API granulaire (nouveau :sparkles:)

Vous pouvez désormais créer une clé API granulaire pour le plugin WP Discourse. Les clés API granulaires deviendront la méthode standard pour connecter WP Discourse à Discourse dans un avenir proche.

Comment utiliser une clé granulaire

Voici comment utiliser une clé granulaire :

  1. Tout d’abord, assurez-vous d’utiliser la version 2.4.3 du plugin et la dernière version de Discourse sur la branche tests-passed. Les clés API granulaires de WP Discourse ne sont pas encore prises en charge sur la version stable de Discourse.

  2. Accédez au panneau API du tableau de bord d’administration Discourse et créez une nouvelle clé « Tous les utilisateurs », mais avec une portée « Granulaire ».

  3. En bas de la liste des portées, vous trouverez les portées WordPress. Sélectionnez la portée « Publication » (obligatoire pour le moment) et les portées pour toutes les autres fonctionnalités que vous utilisez dans le plugin WP Discourse, puis cliquez sur « Enregistrer ».

  4. Remplacez maintenant votre ancienne clé dans le réglage Clé API de WP Discourse par votre nouvelle clé granulaire et enregistrez vos paramètres.

Lorsque vous enregistrez vos paramètres WP Discourse, vous devriez voir le message habituel « Vous êtes connecté à Discourse ! ».

Si vous voyez « Vous n’êtes pas connecté à Discourse… », cela peut être dû à des portées incorrectes. Le plugin compare les portées de votre clé API aux fonctionnalités que vous avez actuellement activées. Si vous avez des portées insuffisantes, il considérera que vous n’êtes pas connecté. Vous pouvez voir quelles portées manquent en activant les journaux de connexion et en consultant les messages d’erreur dans le visualiseur de journaux.

Les portées de WP Discourse

Il existe quatre portées pour le plugin WP Discourse :

  1. Publication. Cette portée vous permet de publier des articles de WordPress sur Discourse. Cette portée est obligatoire, même si vous ne publiez pas d’articles (par exemple, si vous utilisez uniquement DiscourseConnect), car elle inclut des fonctionnalités utilisées par toutes les fonctionnalités. Elle sera découplée à l’avenir, rendant toutes les portées facultatives.

  2. Commentaires. Cette portée permet d’afficher les réponses aux articles publiés sur Discourse dans WordPress sous forme de commentaires.

  3. DiscourseConnect. Cette portée permet d’utiliser DiscourseConnect (dans n’importe quelle configuration).

  4. Utilitaires. Cette portée est nécessaire pour certaines fonctions utilitaires disponibles dans le plugin. Si vous avez du code personnalisé qui interagit avec le plugin, vous devriez activer cette portée, sauf si vous êtes sûr de ne pas en avoir besoin.

Pourquoi utiliser une clé granulaire ?

La principale raison d’utiliser une clé granulaire est la sécurité. Une clé API globale permet à quiconque possède la clé d’agir comme un administrateur sur votre Discourse. Cela signifie que la sécurité de votre Discourse dépend de la sécurité de votre WordPress. Une clé granulaire est beaucoup moins puissante, étant limitée aux portées que vous activez pour elle.

7 « J'aime »

Nous rencontrons un problème : la mise à jour des articles sur WordPress ne met pas à jour les articles associés sur Discourse. Nous recevons l’erreur suivante dans les journaux.

ERREUR :
publish.ERROR : update_post.post_error {“wp_title”:"title … ",“wp_author_id”:“2205402”,“wp_post_id”:3179224,“response_message”:“Vous n’êtes pas autorisé à consulter la ressource demandée. Le nom d’utilisateur ou la clé de l’API est invalide.”,“http_code”:403}

Nous utilisons une clé Granular pour connecter WP Discourse à Discourse avec les scopes “Wordpress Pubblishing” et “Wordpress Commenting”. Quelqu’un pourrait-il m’aider avec cela ?

Bonjour @deepak_dhamde Je suis désolé que vous rencontriez un problème. Je voyage aujourd’hui mais j’essaierai de recréer votre problème et je reviendrai vers vous dès demain.

1 « J'aime »

Salut @deepak_dhamde J’ai enregistré une vidéo de moi-même configurant une clé granulaire avec les étendues que vous utilisez. Si vous pouviez examiner et me faire savoir si vous faites quelque chose différemment.

Salut @angus, désolé pour ma réponse tardive.
Nous suivons exactement la même procédure pour générer la clé Granular mais nous voyons toujours la même erreur 403 dans les journaux. Lorsque nous mettons à jour les articles WordPress, le sujet associé sur Discourse n’est pas mis à jour.

ERREUR :

[2024-09-16 06:51:28] publish.ERROR: update_post.post_error {“wp_title”:“Testing update post feature on staging site”,“wp_author_id”:“2168699”,“wp_post_id”:3175772,“response_message”:“You are not permitted to view the requested resource. The API username or key is invalid.”,“http_code”:403}

Salut @deepak_dhamde.

Il y aura probablement une petite différence dans la façon dont vous le configurez, ou dans votre environnement. Il m’est difficile de trouver cette différence sans plus d’informations. Voici quelques façons de procéder :

  1. Vous pourriez me donner accès à votre environnement (je suis prêt à signer un accord de non-divulgation) afin que je puisse examiner ; ou
  2. Vous pourriez enregistrer votre propre vidéo de vous faisant la même chose que je viens de faire (envoyez-la-moi en privé) ; ou
  3. Vous pouvez jeter un autre regard et considérer ces facteurs :
    • Votre Discourse et Wordpress sont-ils à jour ?
    • Êtes-vous en mesure de créer une clé « Globale » fonctionnelle ?
    • Avez-vous essayé de demander à différents membres de votre équipe de suivre le même ensemble d’étapes (parfois, un regard neuf permettra de voir quelque chose de nouveau)
    • Partagez le fichier « meta » dans votre visualiseur de logs WP Discourse avec moi (c’est-à-dire votre environnement Wordpress) et je verrai si quelque chose ressort.

Salut @angus ,
Nous avons créé une nouvelle clé Granular, avons suivi la procédure que vous avez mentionnée dans la vidéo et avons activé la portée d’édition dans le post, et cela a commencé à fonctionner. Merci beaucoup d’avoir été si patient et de votre soutien.

1 « J'aime »

4 messages ont été déplacées vers un nouveau sujet : Connexion de WP Discourse à une instance Discourse locale exécutant une version spécifique