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é.
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
- Accédez à
Admin>Settings(Paramètres).- Activez le paramètre
enable page publishing(activer la publication de pages).
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é :
- Activez le paramètre
show_published_pages_login_requiredsousAdmin>Settings(Paramètres).
Publication d’un sujet
Allez au premier message d’un sujet public et sélectionnez l’icône d’ellipse (
...).
Sélectionnez l’icône de clé à molette.
Choisissez l’option « Page Publishing » (Publication de page).
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.
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é
Si l’option
Publicest cochée, une étiquette \u003ckbd\u003epublic\u003c/kbd\u003e apparaîtra.
Un sujet publié affichera une notification sous le titre permettant d’accéder à ses paramètres de publication.
Page publiée
Dépublication d’un sujet
Sélectionnez
Publishing Settings(Paramètres de publication) sous la notification.
Cliquez sur \u003ckbd\u003eUnpublish\u003c/kbd\u003e (Dépublier)
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_requiredest activé dansAdmin>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
I still need to try this out first hand so the following may not be grounded in reality, but:
It strikes me that this permission model sets up a scenario where you always see two copies of the pages’ content – one in the relevant Discourse category, and one in the published pages themselves. This of course seems duplicative if you’re wanting to publish pages for the general population that is similar to, or identical to, your Discourse user base.
OTOH, if pages had the “world readable” flag available, you could then restrict who can see/edit them to a small group, and the only place the content would be available to other Discourse users would be in the published links themselves.
(I’m thinking of a use case of a “documentation site” here.)
Otherwise, I’m pretty excited to test things out!
Awesome stuff, and thanks again for listening to your users. I love the ‘lets make this better for us all’ vibe that Discourse has! We’ll make heavy use of this.
When discussing one use (patching up an install that went a bit awry), another user pointed out a remaining bit of icing that could do with going on the cake:
Hey, is there any way to include the ability to make /faq and /about public as well, as they are currently hidden in Login Required sites. We can of course use the existing functionality that you’ve just released for /faq by making our own, changing the link in settings, and explicitly linking to it. However, this is not pretty and the existing navigation to it remains hidden. We can’t do that at all for /about of course.
Something that would go nice with this feature is to make publications onebox-compatible such that people could easily share the content.
Please excuse my ignorance, as I am very much a beginner in the HTML/CSS space… however, how would we go about applying our theme colour choices to published pages. At its simplest, I’d like to use the dark background/white text to give the published pages the same darkmode experience as accessing our forums.
Is this already in the product, or do I need to play with HTML/CSS? If the latter, could anyone give me some pointers in the right direction? Thanks!
Can you make this a separate feature request please? This is not related to page publishing, as in I wouldn’t have to change anything related to page publishing to make it possible. I do agree it would be better if all these “static” pages could have more or less the same behaviour, but there are multiple solutions here (do nothing? add site settings? migrate these to page publishing?), so we might want to have a dedicated topic for this.
GTM not loaded on published pages? Would be nice.
Hmm that is a really good point.
Just trying to think of a solution here… would it work if type="text/javascript" and type="text/discourse-plugin" were treated differently? The API needs the latter, right?
Yes I think we already support having a text/javascript in the theme fields, so there are certainly solutions in this area.
That would be great.
So it’s currently impossible to have responsive published pages, and this site particularly wants
- images made available when sharing to public media, and
- responsive/resizing images displayed, especially on mobile–oh, mobile could just resize the image with CSS–that should work, right?
+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é ![]()
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…
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 !
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 ?
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…
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 ?
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.
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 ?
Malheureusement, la fonctionnalité « Publication de pages » ne répond pas à mes besoins. Pour que je puisse l’utiliser, les pages publiées devraient :
- ê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
- être rendues comme des sujets normaux (avec mise en forme), c’est-à-dire en prenant en charge le bbcode et les plugins.
En attendant, j’ai utilisé l’outil de personnalisation par défaut de Discourse :
- Identifier l’élément ajouté, par exemple avec une classe CSS
published-page-footer-links. - Personnaliser le CSS pour masquer cet élément par défaut et ne l’afficher que sur les pages publiées.
- 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>











