Publication de page

:bookmark: Ce guide explique comment utiliser la fonctionnalité de publication de pages (Page Publishing) sur Discourse. Cette fonctionnalité permet aux utilisateurs du personnel de convertir un sujet en une page statique autonome avec un style personnalisé. Des exemples incluent les pages de conditions d’utilisation et de politique de confidentialité.

:person_raising_hand: Niveau utilisateur requis : Personnel

Publication de pages statiques sur Discourse

La publication de pages permet aux utilisateurs du personnel de créer des pages statiques autonomes à partir de sujets. Ceci est similaire au processus de création des pages de conditions d’utilisation ou de politique de confidentialité.

Résumé

Cette documentation couvrira :

  • Activation de la publication de pages
  • Publication d’un sujet en tant que page
  • Dépublication d’un sujet
  • Problèmes courants et solutions
  • FAQ
  • Ressources supplémentaires

Activation de la publication de pages

  1. Accédez à Admin > Settings (Paramètres).
  2. Activez le paramètre enable page publishing (activer la publication de pages).
    Enable Page Publishing

Activation de la publication de pages lorsque la connexion est requise

Pour que les pages publiées soient visibles même lorsqu’un utilisateur n’est pas connecté :

  1. Activez le paramètre show_published_pages_login_required sous Admin > Settings (Paramètres).
    Show Published Pages

Publication d’un sujet

  1. Allez au premier message d’un sujet public et sélectionnez l’icône d’ellipse (...).
    Ellipsis Menu

  2. Sélectionnez l’icône de clé à molette.
    Wrench Icon

  3. Choisissez l’option « Page Publishing » (Publication de page).

  4. Une boîte de dialogue modale apparaîtra, vous permettant de confirmer le slug (qui peut être pré-rempli à partir du titre du message) et de prévisualiser l’URL de la page publiée.

:warning: Pour autoriser la publication de pages, il est nécessaire de désactiver les paramètres du site concernant les téléchargements sécurisés.

\u003csmall\u003e:information_source: Pour les sites hébergés, les téléchargements sécurisés sont limités au plan Entreprise.\u003c/small\u003e

Sujet publié

Page publiée

Dépublication d’un sujet

  1. Sélectionnez Publishing Settings (Paramètres de publication) sous la notification.

  2. Cliquez sur \u003ckbd\u003eUnpublish\u003c/kbd\u003e (Dépublier)

  3. La page est dépubliée.

Problèmes courants et solutions

Impossible de voir les pages publiées lorsque l’on est déconnecté

Assurez-vous que le paramètre show_published_pages_login_required est activé dans Admin > Settings (Paramètres).

Ajouter un en-tête Discourse aux pages publiées

Actuellement, les pages statiques sont conçues pour être minimalistes et n’incluent pas l’en-tête et le pied de page typiques de Discourse.

FAQ

Puis-je rendre une page FAQ ou À propos publique ?

Vous pouvez créer un nouveau sujet avec le contenu souhaité et le publier en tant que page. Modifiez les liens dans les paramètres du site pour pointer vers ces nouvelles pages.

Comment puis-je personnaliser l’apparence d’une page publiée ?

Utilisez la structure du document HTML et les sélecteurs CSS correspondants pour appliquer des styles personnalisés sous Admin > Customize (Personnaliser) > Themes (Thèmes) > CSS.

Ressources supplémentaires

118 « J'aime »
Best landing page solution
ProCourse Static Pages
Using Discourse as a News Blog and Forum - Any Known Good Examples?
How to add a new page into the community? (Login isolated page)
Blog Post Styling
Is anyone here using their Discourse instance as their entire website?
How do I redirect urls or create new ones?
Discourse + CMS, which one?
Is there an upper limit to how many pages can be published?
Host HTML page on Discourse install
Integrating webpage to current forum
Open (anon) interaction with a forum
Shared Drafts: Allow staff to collaborate on posts before publishing
Is there any way to listen User login event using Theme component
How to share only few posts to public as links?
Open (anon) interaction with a forum
Create a "Docs" page like discource meta's
Invite people to reply to a topic without them needing to create an account
Allow anonymous users to view a topic?
What's the usage of "show published pages login required" setting?
How to add contact us page?
Embed my Discourse Forum as IFrame
Is there any way to restrict posting in a topic to members of a group, but allow all users to read the topic?
Order posts by Title
Edit Code
Published page not visible?
Inline Tooltips
Making the About and FAQ visible to anon
Allow published pages to be visible to anon
Customize login page
7 myths why a blog isn't needed in the discourse core
Landing Page
Customizing FAQs and Guidelines
ProCourse Static Pages
Can I use secure media and page publishing simultaneously in Discourse?
Publishing - how deep/good is fine-grained permisson control?
Publish Direct Messages
500 character ‘Reject Reason’ is too small a limit
How do I create a blank page within Discourse
How-to use Discourse for managing a collaborative newsletter?
Customize Login pop-up box?
Building a custom html page in discourse
Page for not-logged in users with a single topic displayed
Duplicate Terms of Service/Privacy Policy
Paid Groups
Help custom page?
Should Discourse make an effort to become the next best "CMS"
Is It Possible to Create Custom Pages in Discourse?
How to Enable Terms of Service and Privacy Policy Pages in Discourse?
Is It Possible to Create Custom Pages in Discourse?
Blank Pages Related Help
How do root level links work?
Creating custom pages like "About" and "FAQ"
Multi-factor authentication enforcement lock in without help
Can you create a custom landing page?
Static pages for things like guidelines?
Create a new text page option?
Change topic visibility in an admin category to public
Create a custom page with theme cli?
DiscoTOC - automatic table of contents
Adding a static web page
[Urgent] privacy policy page
How to make a website with Discourse
Generate static file in discourse
Discourse for Teams is here!
Category Previews
Public Static pages and Private Forums - possible?
Filter view for muted categories
Category Previews
How to hide a single topic from showing up in "latest"?
ProCourse Static Pages
Control the visibility of /faq and /about
[Question/Request] Featured image url for post
Custom Homepage for Groups
Embedding private discussions on a wordpress site
Table of Contents not working on Published Pages

Je dois encore essayer cela moi-même, donc ce qui suit n’est peut-être pas fondé sur la réalité, mais :

Il me semble que ce modèle de permissions crée un scénario où vous voyez toujours deux copies du contenu des pages : une dans la catégorie Discourse concernée, et une dans les pages publiées elles-mêmes. Cela semble évidemment redondant si vous souhaitez publier des pages destinées au grand public qui sont similaires, voire identiques, à votre base d’utilisateurs Discourse.

D’un autre côté, si les pages disposaient du drapeau « lisible par tous », vous pourriez alors restreindre l’accès en lecture ou en modification à un petit groupe, et le seul endroit où le contenu serait accessible aux autres utilisateurs de Discourse serait dans les liens publiés eux-mêmes.

(Je pense ici à un cas d’usage de « site de documentation ».)

Autrement, je suis très enthousiaste à l’idée de tester cela !

8 « J'aime »

Superbe, et merci encore d’écouter vos utilisateurs. J’adore l’ambiance « améliorons cela pour nous tous » qui règne sur Discourse ! Nous en ferons un usage intensif.

Lors de la discussion d’un cas d’usage (la réparation d’une installation qui a mal tourné), un autre utilisateur a souligné un dernier petit détail qui pourrait être ajouté au gâteau :

Hé, y a-t-il un moyen d’ajouter la possibilité de rendre /faq et /about publics également, car ils sont actuellement masqués sur les sites nécessitant une connexion. Nous pouvons bien sûr utiliser la fonctionnalité existante que vous venez de publier pour /faq en créant la nôtre, en modifiant le lien dans les paramètres et en y ajoutant un lien explicite. Cependant, ce n’est pas élégant et la navigation existante vers celle-ci reste masquée. Nous ne pouvons absolument pas faire cela pour /about, bien sûr.

9 « J'aime »

Un complément idéal pour cette fonctionnalité serait de rendre les publications compatibles OneBox, afin que les utilisateurs puissent facilement partager le contenu.

15 « J'aime »

Veuillez excuser mon ignorance, car je suis vraiment débutant dans le domaine du HTML/CSS. Cependant, comment pouvons-nous appliquer nos choix de couleurs de thème aux pages publiées ? Dans sa forme la plus simple, j’aimerais utiliser un fond sombre et du texte blanc pour offrir aux pages publiées la même expérience de mode sombre que lors de l’accès à nos forums.

Ceci est-il déjà inclus dans le produit, ou dois-je manipuler le HTML/CSS ? Dans le second cas, quelqu’un pourrait-il me donner quelques pistes dans la bonne direction ? Merci !

4 « J'aime »

Pourriez-vous en faire une demande de fonctionnalité distincte, s’il vous plaît ? Cela n’est pas lié à la publication de pages, car je n’aurais pas besoin de modifier quoi que ce soit concernant la publication de pages pour rendre cela possible. Je suis d’accord pour dire qu’il serait préférable que toutes ces pages « statiques » aient un comportement plus ou moins identique, mais il existe plusieurs solutions ici (ne rien faire ? ajouter des paramètres du site ? migrer ces pages vers la publication de pages ?). Nous pourrions donc souhaiter créer un sujet dédié à cette question.

8 « J'aime »

GTM non chargé sur les pages publiées ? Ce serait bien.

2 « J'aime »

Hmm, c’est vraiment un excellent point.

Je cherche juste une solution ici… cela fonctionnerait-il si type="text/javascript" et type="text/discourse-plugin" étaient traités différemment ? L’API a besoin de ce dernier, n’est-ce pas ?

5 « J'aime »

Oui, je pense que nous prenons déjà en charge l’utilisation de text/javascript dans les champs du thème, il existe donc certainement des solutions dans ce domaine.

7 « J'aime »

Ce serait formidable.

1 « J'aime »

Donc, il est actuellement impossible d’avoir des pages publiées adaptatives, et ce site souhaite particulièrement :

  1. que les images soient disponibles lors du partage sur les médias publics, et
  2. que les images adaptatives/redimensionnées soient affichées, en particulier sur mobile — oh, le mobile pourrait simplement redimensionner l’image avec du CSS — cela devrait fonctionner, non ?
6 « J'aime »

+1 pour l’intégration de l’en-tête Discourse dans les pages publiées. Je regrette l’absence de mon logo de site web, de mes liens d’en-tête personnalisés et de mon menu hamburger tant apprécié :slight_smile:

Autre bizarrerie : dans les messages, mes images en lightbox s’ouvrent dans une jolie fenêtre contextuelle, tandis que dans les pages publiées, elles s’ouvrent dans un nouvel onglet…

7 « J'aime »

Je pense qu’il faut un ensemble de composants de thème qui ajoutent cela. Le dernier client pour qui j’ai dû l’utiliser voulait supprimer le créateur de sujet. Je pense qu’il est difficile de deviner ce qui répondra aux besoins des gens à ce sujet !

6 « J'aime »

Y a-t-il actuellement des initiatives en cours pour ajouter un support JavaScript « simple » (non-API) aux pages publiées ? Ou devrions-nous oublier cela à court ou moyen terme ?

9 « J'aime »

Puis-je afficher du JSON externe non-Discourse sur cette page ? Comme nous ne pouvons pas utiliser de code PHP ici et que Discourse supprime la plupart du HTML, je ne sais pas comment procéder…

2 « J'aime »

J’ai un problème avec une page publiée : le bouton pour copier le contenu du bloc de code n’est pas visible sur la page publiée. Capture d’écran : Screenshot by Lightshot. Je passe la souris sur le bloc, mais le bouton n’apparaît pas. Une fois connecté, tout fonctionne normalement.

Quelqu’un peut-il reproduire le problème ? Une solution ?

2 « J'aime »

Merci @riking !

Il semble en effet que le « texte » text/javascript « régulier » s’exécute sur les pages publiées lorsqu’il se trouve dans l’en-tête ou le pied de page d’un composant de thème.

8 « J'aime »

Ha ! Il semble donc qu’il existe une solution de contournement pour faire fonctionner certains composants de thème avec la publication de pages.

Je me penche sur l’ajout d’un en-tête ou d’un pied de page aux pages publiées, et les composants de thème semblent être la bonne approche. Mais il me semble risqué de mettre en œuvre quelque chose qui pourrait potentiellement être cassé dans un avenir proche.

@riking, il semble que le type text/javascript dans header ou footer fonctionnant sur les pages publiées était involontaire. Est-ce que cela va être corrigé ou utilisé pour étendre les pages publiées ?

@syl, l’auteur de DiscPage, a évoqué la possibilité de réimplémenter le plugin DiscPage en utilisant les fonctionnalités de publication de pages. Est-ce que tu as toujours cela en tête, @syl ? Selon toi, quelle serait la voie de moindre résistance pour intégrer les deux fonctionnalités, @riking ?

7 « J'aime »

Malheureusement, la fonctionnalité « Publication de pages » ne répond pas à mes besoins. Pour que je puisse l’utiliser, les pages publiées devraient :

  1. être affichées dans la mise en page normale de Discourse, c’est-à-dire avec l’en-tête standard de Discourse (tout comme les Conditions d’utilisation et la Politique de confidentialité), et
  2. être rendues comme des sujets normaux (avec mise en forme), c’est-à-dire en prenant en charge le bbcode et les plugins.
15 « J'aime »

En attendant, j’ai utilisé l’outil de personnalisation par défaut de Discourse :

  1. Identifier l’élément ajouté, par exemple avec une classe CSS published-page-footer-links.
  2. Personnaliser le CSS pour masquer cet élément par défaut et ne l’afficher que sur les pages publiées.
  3. Ajouter l’élément dans l’espace Footer.

2. Dans le CSS, ajoutez :

/* Afficher les liens du pied de page uniquement sur les pages publiées */
.published-page-footer-links { display: none; }
.published-page .published-page-footer-links { display: block;}

3. Dans Footer, ajoutez :

<nav class="published-page-footer-links">
Bonjour ! Ceci est le pied de page pour les pages publiées !
</nav>
8 « J'aime »