Cette documentation explique comment créer un lien qui démarre un nouveau sujet dans Discourse avec des informations pré-remplies.
Niveau d’utilisateur requis : Tous les utilisateurs
Parfois, vous voudrez peut-être fournir aux utilisateurs un lien qui ouvre un nouvel éditeur de sujet avec certaines informations pré-remplies. Ceci peut être utile pour divers cas d’utilisation, y compris les modèles de rapport de bogue, les demandes de fonctionnalités ou les publications standardisées.
Construction de l’URL
URL de base
Pour composer un nouveau sujet pré-rempli sans informations supplémentaires, vous ajoutez /new-topic à l’URL de votre site, comme ceci :
https://discourse.example.com/new-topic
Cliquer sur ce lien ouvrira un éditeur de nouveau sujet vierge pour tout utilisateur connecté (si l’utilisateur n’est pas connecté, il sera invité à se connecter/s’inscrire avant que l’éditeur ne s’ouvre).
Paramètres supplémentaires
Bien qu’un lien pour ouvrir un éditeur vierge puisse parfois être utile, la principale force de cette fonctionnalité est la possibilité de pré-remplir l’éditeur avec des informations supplémentaires.
Pour ce faire, vous pouvez ajouter des paramètres à l’URL de base :
https://discourse.example.com/new-topic?title=titre%20du%20sujet&body=corps%20du%20sujet&category=categorie/sous-categorie&tags=email,planned
Ceci ouvrira une fenêtre d’éditeur pré-remplie avec le titre du sujet, le corps, la catégorie et les balises.
En décomposant le lien / l’URL pour montrer les options disponibles, nous avons :
- URL de base :
https://discourse.example.com/new-topic - L’opérateur d’URL
?pour ajouter les différentes options - Titre du sujet :
title=titre%20du%20sujet - Le
&, utilisé à chaque fois lors de l’inclusion d’un paramètre supplémentaire - Corps :
body=corps%20du%20sujet - La catégorie et la sous-catégorie séparées par une barre oblique
/si vous souhaitez les inclure :category=categorie/sous-categorie - Les balises séparées par une virgule
,si vous souhaitez inclure plusieurs balises :tags=email,planned
Chacun des paramètres est facultatif et peut être combiné en fonction du résultat final souhaité.
Comme alternative à l’utilisation du nom de la catégorie/sous-catégorie, vous pouvez spécifier un category_id numérique à la place, comme ceci :
https://meta.discourse.org/new-topic?title=titre%20du%20sujet&category_id=3
Exemple
Vous pouvez essayer ceci ici sur Meta :
https://meta.discourse.org/new-topic?title=titre%20du%20sujet&body=corps%20du%20sujet&category=support/wordpress&tags=wordpress
Ne créez pas réellement le sujet
Pour une exploration plus pratique de la fonctionnalité, utilisez notre site de démonstration, try.discourse.org
Utilisation des outils de développement du navigateur
Ouvrez la console du navigateur (F12 → Console) et utilisez URLSearchParams intégré pour construire l’URL — il gère automatiquement tout l’encodage en pourcentage (percent-encoding) :
const base = 'https://discourse.example.com/new-topic';
const url = base + '?' + new URLSearchParams({
title: 'Mon titre de sujet',
body: `Texte du corps ici...\nsupporte plusieurs lignes`,
category: 'support',
tags: 'bug,urgent'
});
console.log(url); // copiez cette url
Utilisation d’une URL pré-remplie avec les liens en vedette (Featured Links)
Cette fonctionnalité prend également en charge les Liens en vedette, à condition que le paramètre body ne soit pas également inclus.
L’URL doit être encodée en URL pour que le lien fonctionne.
Par exemple, pour créer un sujet avec l’URL suivante https://www.xkcd.com/556, le lien sera :
https://meta.discourse.org/new-topic?title=https%3A%2F%2Fwww.xkcd.com%2F556
Bonnes pratiques
- La Référence d’encodage URL HTML de w3Schools est une bonne ressource pour trouver comment les caractères textuels sont encodés dans l’URL. Si vous avez beaucoup de texte à ajouter, il existe également un convertisseur de texte en URL dans la section « Try It Yourself ».
- Encodez toujours les paramètres en URL pour éviter les problèmes avec les caractères spéciaux.
- Si vous n’êtes pas sûr de l’ID de catégorie, vous pouvez le vérifier en regardant le nombre dans l’URL de la catégorie. (ex. Using Discourse - Discourse Meta)
- Testez les liens pré-remplis pour vous assurer qu’ils fonctionnent comme prévu.
Il n’est actuellement pas possible d’avoir un lien pré-rempli qui ouvre un éditeur pour répondre à un sujet spécifique.