Je crée ce sujet pour documenter mon parcours dans ma tentative de transformer Discourse en une plateforme plus visuelle et à défilement continu — quelque chose de plus proche de l’expérience de navigation proposée par Reddit, X et Facebook.
J’utiliserai ce sujet pour partager ce que j’essaie, ce qui fonctionne, ce qui ne fonctionne pas, les composants que j’utilise et les problèmes auxquels je suis confronté. J’espère que cela aidera également toute autre personne intéressée à utiliser Discourse pour autre chose qu’une mise en page de forum traditionnelle.
Le point de départ de ce projet a été la règle 90–9–1.
Elle suggère que sur la plupart des réseaux sociaux, blogs, etc. :
-
90 % des utilisateurs naviguent principalement et consomment du contenu.
-
9 % réagissent, aiment, partagent ou commentent occasionnellement.
-
1 % créent activement la majeure partie du contenu.
Bien sûr, les pourcentages exacts varieront d’une communauté à l’autre, mais le principe reste pertinent : la plupart des visiteurs sont des lecteurs, pas des contributeurs.
Discourse est excellent pour servir les 9 % et les 1 %. Il est construit autour des discussions, des réponses et de la participation active. Cependant, je souhaite le rendre tout aussi attrayant pour le groupe beaucoup plus important qui souhaite simplement ouvrir le site et parcourir du contenu frais et intéressant.
Ce que je tente de construire
Je souhaite utiliser Discourse pour créer un flux plus visuel et continu (défilement compulsif) similaire à celui de Reddit, X ou Facebook.
L’expérience ressemblerait idéalement à ceci :
-
Ouvrir la page d’accueil et voir immédiatement un flux de sujets pertinents.
-
Faire défiler continuellement d’un sujet à l’autre.
-
Prévisualiser le contenu du sujet sans ouvrir de page séparée.
-
Voir des images, des vidéos et des extraits directement dans le flux.
-
Aimer, mettre en signet ou répondre lorsque quelque chose attire votre attention.
-
Faire défiler automatiquement le contenu déjà consulté pour le mettre de côté.
-
Revenir plus tard et voir des sujets frais ou non vus plutôt que la même page d’accueil à chaque fois.
-
Personnaliser progressivement le flux en utilisant les catégories, les étiquettes et les sujets avec lesquels l’utilisateur interagit.
Certaines personnes appelleraient cela le « doom scrolling », mais c’est aussi simplement la façon dont un très grand nombre de personnes consomment désormais le contenu en ligne. Elles peuvent lire des dizaines de publications sans jamais commenter, et pourtant elles restent de vrais utilisateurs générant des vues, partageant des liens et potentiellement revenant chaque jour.
Pourquoi le construire avec Discourse ?
Discourse fournit déjà la plupart des parties difficiles :
-
Comptes et profils utilisateurs
-
Catégories et étiquettes
-
J’aime, signets et notifications
-
Niveaux de confiance et modération
-
Création de sujets et réponses
-
Suivi des sujets lus et non lus
-
Sujets suggérés et connexes
-
Un système mature de plugins et de composants de thème
Ce qui semble manquer, c’est un flux conçu principalement autour de la découverte et de la consommation passive. (Discourse n’a évidemment pas été conçu pour cela)
Où j’en suis pour l’instant
- J’ai commencé avec le formidable thème Redditish de @awesomerobot, que j’ai dû forker pour pouvoir modifier divers aspects, tels que la suppression de la barre latérale personnalisée. J’ai également beaucoup modifié le CSS pour le concevoir comme nous le souhaitions.
- L’activation des Vues imbriquées était indispensable, car cela couvre le style nécessaire pour ce type de site.
- J’ai créé et ajouté un menu défilable de style YouTube qui affiche toutes les catégories et les liens personnalisés. J’ai utilisé Custom Top Navigation Links pour personnaliser et ajouter des liens.
- Une modale d’aperçu des sujets était indispensable et j’ai commencé à la concevoir, mais la légende @Don a construit une meilleure version qui peut être trouvée ici
- Une barre latérale droite statique et mise en cache partout était indispensable, j’ai donc commencé avec right sidebar blocks, puis j’ai créé un composant de thème pour l’afficher sur les sujets, etc.
- En utilisant des liens d’en-tête personnalisés (icônes), j’ai ajouté un bouton « Créer une publication » dans l’en-tête pour rendre le conteneur plus propre.
- Les images sur les publications sont centrées avec un arrière-plan flou pour un rendu plus net (similaire à Reddit)
- Définir les extraits de sujets à 150 caractères et les afficher entre le titre et l’image sur les cartes de sujet était indispensable (similaire à Facebook et X)
Les prochaines étapes consisteraient à créer un flux dédié qui pourrait :
-
Commencer avec du contenu récent d’une période définie, comme les 14 derniers jours.
-
Prioriser les sujets des catégories et des étiquettes suivies par l’utilisateur.
-
Mélanger des sujets populaires ou en tendance pour la découverte.
-
Enregistrer quand un sujet a véritablement été consulté ou survolé.
-
Réduire la priorité des sujets consultés sans les masquer définitivement.
-
Permettre des réactions et des réponses directes depuis le flux.
Cela ne remplacerait pas les listes de sujets traditionnelles ou les discussions. Ce serait une manière supplémentaire de découvrir et de consommer le même contenu Discourse.
Suivez le parcours
Je continuerai à mettre à jour ce sujet au fur et à mesure de l’évolution du projet, y compris les composants que je teste, les modifications que j’apporte et les obstacles auxquels je suis confronté.
Je serais également intéressé d’entendre parler de quiconque a tenté quelque chose de similaire, en particulier concernant :
-
Si les données de suivi de lecture existantes pourraient soutenir cela.
-
Comment un flux pourrait fonctionner pour les utilisateurs anonymes et nouvellement inscrits.
-
Combien de personnalisation pourrait être obtenue sans introduire un algorithme de recommandation complexe.
-
Si les aperçus continus des sujets créeraient des problèmes de performance importants.
L’objectif est de reconnaître que les 90 % silencieux sont une partie importante d’une communauté et de leur offrir une expérience conçue autour de la façon dont ils utilisent réellement Internet.
Le site de test que j’utiliserai pour ce projet est