Je prévois de construire une plateforme au-dessus d’une instance Discourse auto-hébergée qui inclura diverses fonctionnalités personnalisées telles qu’un moteur de recherche, des ressources documentaires, des wikis, et plus encore. Ces fonctionnalités sont développées en utilisant HTML, CSS et JavaScript, principalement sous forme de pages statiques.
Mon objectif est d’intégrer ces pages personnalisées directement dans le forum Discourse afin qu’elles apparaissent comme des pages natives plutôt que comme des publications, créant ainsi une expérience utilisateur transparente où elles semblent faire partie intégrante du forum. J’aimerais que ces pages statiques soient accessibles aux utilisateurs du forum, avec toutes les fonctionnalités JavaScript fonctionnant comme prévu.
Quelqu’un pourrait-il me conseiller si cette approche est possible dans Discourse, ou s’il existe des plugins, des bonnes pratiques ou des configurations spécifiques que je devrais examiner ? Toute aide sur l’intégration et l’affichage de pages HTML/JS personnalisées sans qu’elles ressemblent à des publications serait grandement appréciée !
Parmi toutes les fonctionnalités que je prévois de mettre en œuvre, comme celles mentionnées ci-dessus, il y a des codes statiques, ce qui signifie que tout est construit via HTML, CSS et JS natif. Je me demande s’il est possible de créer une page statique et d’ajouter les codes personnalisés pour les fonctionnalités mentionnées sur mes propres instances Discourse.
Désolé de continuer sur ce sujet, mais Discourse n’est pas statique. Il est dynamique. Il en va de même pour la plupart des solutions JavaScript, ou basées sur PHP.
Alors, s’agit-il maintenant d’une question de termes ? Et vous voulez simplement intégrer Discourse tel quel dans une page Web parmi tout le reste ? Vous pouvez afficher des sujets, mais vous manquerez presque toutes les autres fonctionnalités de Discourse, d’après ce que je sais.
Non, le code que je prévois d’implémenter, comme la page que je veux ajouter à mon forum Discourse, est une page statique, donc il n’y aurait pas de rendu côté serveur, etc.
Non, je veux ajouter la page web à mon instance de forum Discourse. Le contraire de ce que vous dites en fait.
C’est assez cool, mais je pensais en fait à autre chose, comme ajouter et créer une page statique à l’intérieur de Discourse. La page aurait également besoin d’ajouter du HTML, CSS et JavaScript personnalisés.
Eh bien, j’ai remarqué que ma question pourrait être très confuse, j’ai donc modifié la question avec le message régénéré avec ChatGPT. Voici la question modifiée :
Bonjour Communauté Discourse !
Je prévois de construire une plateforme au-dessus d’une instance Discourse auto-hébergée qui inclura diverses fonctionnalités personnalisées comme un moteur de recherche, des ressources documentaires, des wikis, et plus encore. Ces fonctionnalités sont développées en utilisant HTML, CSS et JavaScript, principalement sous forme de pages statiques.
Mon objectif est d’intégrer ces pages personnalisées directement dans le forum Discourse afin qu’elles apparaissent comme des pages natives plutôt que comme des publications, créant ainsi une expérience utilisateur transparente où elles donnent l’impression de faire partie intégrante du forum. J’aimerais que ces pages statiques soient accessibles aux utilisateurs du forum, avec toutes les fonctionnalités JavaScript fonctionnant comme prévu.
Quelqu’un pourrait-il me conseiller si cette approche est possible dans Discourse, ou s’il existe des plugins, des meilleures pratiques ou des configurations spécifiques que je devrais examiner ? Toute aide sur l’intégration et l’affichage de pages HTML/JS personnalisées sans qu’elles ressemblent à des publications serait grandement appréciée !
Tout cela ressemble à des choses que Discourse propose déjà.
Le moyen le plus simple de le faire est de les héberger ailleurs et d’ajouter des liens vers elles avec un composant de thème et d’avoir ce site à l’apparence identique à votre site Discourse. Les gens ne remarquent pas les URL, donc si vous maintenez la navigation sur les autres sites de manière à ce que les gens puissent revenir à Discourse, alors cela fonctionne tout simplement et rien de sophistiqué n’est requis.
Je ne suis pas tout à fait sûr de ce que cela signifie, mais si vous voulez vraiment ajouter vos fonctionnalités personnalisées à Discourse, vous devrez les créer sous forme de plugins ou de composants de thème.
Désolé pour ma réponse tardive. Les fonctionnalités que j’ai listées sont quelques exemples de fonctionnalités que je souhaite implémenter, il y en a environ 20. Elles sont toutes écrites en JS natif, HTML et CSS, sans nécessiter de rendu côté serveur.
Je préférerais les intégrer directement dans Discourse, par exemple en créant une page au sein de Discourse, et en modifiant la page pour y ajouter tous les codes personnalisés, puis en la déployant avec Discourse. Ce serait plus facile à maintenir pour moi, car tout serait au même endroit, tandis que mes utilisateurs pourraient accéder au contenu directement via le forum Discourse sans avoir à le quitter. Est-ce possible de faire cela via Discourse ? Si oui, comment ?
Je souhaite ajouter des fonctionnalités personnalisées au forum Discourse que j’hébergerais. Ces fonctionnalités personnalisées sont construites directement en HTML, CSS et JS natif. Je me demande s’il est possible de le faire directement, sans avoir à créer de plugins.
Je veux implémenter les fonctionnalités code (JavaScript, HTML, CSS) directement dans le code source d’une seule page, chaque fonctionnalité ayant sa propre page.
Je pense que le plugin Landing Pages lié ci-dessus est la méthode la plus proche de ce que je pense que vous décrivez et qui est déjà intégré à Discourse.
Une autre approche que j’utilise pour ce que (je pense ?) vous décrivez ici est d’utiliser un blog/CMS Ghost pour créer et héberger des pages ou des articles individuels où je veux afficher des pages personnalisées. Ghost est particulièrement bien adapté à cet effet en raison de sa flexibilité pour inclure et insérer les trois types de code (JS, CSS et HTML) par page, et/ou par section/balise et/ou sur l’ensemble du site via des « injections de code dans l’en-tête », des « injections de code dans le pied de page » et des inclusions de code/scripts en ligne directement dans l’éditeur de page/article.
Ensuite, vous avez plusieurs options dans Discourse pour intégrer de manière transparente ces pages externes sur vos sites Discourse. Vous pouvez alors utiliser le RSS, les commentaires intégrés, les Iframes, les pages liées ou d’autres méthodes.
Je trouve que cette combinaison/association de Discourse et Ghost peut fournir une plateforme idéale pour ce cas d’utilisation particulier où vous avez besoin de la flexibilité du codage « à la volée » et des injections JavaScript arbitraires.
Une fois que j’ai compris (à la fois) les forces naturelles et les limites très opposées et très complémentaires de chacune de ces plateformes (Ghost et Discourse) et comment elles peuvent être combinées et intégrées, je n’ai pas trouvé de meilleure solution.
De cette façon, vous pouvez obtenir les fonctionnalités robustes d’organisation de contenu et de plateforme communautaire de Discourse, ainsi que la simplicité de l’approche à la volée de Ghost pour l’édition de code en ligne et la flexibilité d’inclure du JS, du CSS et du HTML (et même du Markdown) sur des pages individuelles.
Un vrai bonus est que les deux plateformes, étant toutes deux open source et basées sur GitHub, ont des communautés de manière similaire robustes, actives, amicales et solidaires où vous pouvez participer, obtenir de l’aide et apprendre rapidement et sans fin.