Dumbcourse – Interface compatible avec les anciens navigateurs sur /dumb (D-pad + petits écrans)

:information_source: Résumé Dumbcourse ajoute une interface Discourse légère et compatible avec les anciens navigateurs sous /dumb, conçue pour la navigation à la manette (D-pad), les petits écrans et les anciennes WebViews Android où l’interface Discourse standard peut être trop lourde.
:hammer_and_wrench: Lien du dépôt GitHub - JTech-Forums/JtechTools: Jtech — combined Discourse plugin bundle: dislike, another-smtp, mini-mod, mod-categories, dumbcourse. One plugin.rb, six admin tabs, no namespace collisions. · GitHub
:open_book: Guide d’installation Comment installer des plugins dans Discourse


Ce projet a été rendu possible grâce au travail de @ars18 :

https://github.com/alltechdev/jtech-web

Le projet d’origine utilise un proxy de worker Cloudflare pour servir les forums, et le plugin dumbcourse l’intègre entièrement dans votre instance Discourse. Dumbcourse n’utilise pas de proxy mais le sert directement.


Fonctionnalités

  • Sert une SPA minimale sur le même domaine Discourse à /dumb
  • ES5 / sans étape de build ; DOM/JS/CSS intentionnellement minimaux pour les anciens navigateurs et WebViews
  • Utilise les points d’accès JSON Discourse same-origin et les cookies de session Discourse standard
  • Listes de sujets : latest, new, top, unseen, hot, my, ainsi que les catégories
  • Vue de catégorie : /dumb/c/:slug/:id
  • Lecture de sujets et publication (réponse/citation/réactions)
  • Recherche et vues de profil de base
  • Navigation adaptée à la manette (D-pad) avec des éléments d’interface focusables

Configuration

  1. Installer le plugin

    • Ajouter le dépôt à containers/app.yml sous hooks -> after_code, puis reconstruire le conteneur.
  2. L’activer

    • Aller dans Administration → Plugins → Dumbcourse
    • Activer dumbcourse_enabled
  3. Choisir les valeurs par défaut

    • Définir le thème par défaut et la vue d’accueil par défaut (voir Paramètres ci-dessous).
  4. Vérifier

    • Visiter : https://YOUR_FORUM_DOMAIN/dumb
    • Les utilisateurs anonymes doivent atterrir sur /dumb/login
    • Les utilisateurs connectés doivent voir la vue par défaut configurée

Captures d’écran

Ancien navigateur / interface Discourse standard

Interface Dumbcourse

Dans un fil

Actions sur les messages / sélection

Menu de base

Paramètres du plugin


Statut / Limitations connues

Ce projet est actuellement en bêta (la première implémentation a été faite rapidement), il faut donc s’attendre à des imperfections. Les contributions et les revues de code sont les bienvenues.

Lacunes actuelles connues / questions ouvertes :

  • Inscription + CAPTCHA : la création de compte repose sur le processus d’inscription standard de Discourse, mais le comportement du CAPTCHA peut varier selon la configuration du site.
  • Revue de sécurité : l’interface simplifiée ne doit pas contourner les permissions Discourse, mais elle n’a pas encore fait l’objet d’une revue de sécurité approfondie. Veuillez signaler toute préoccupation ou comportement suspect.
  • Expérience utilisateur modération/admin : les outils de modération et d’administration sont minimaux pour le moment ; l’expansion de cette fonctionnalité de manière sécurisée est prévue dans la feuille de route.
  • Interactions tactile + manette (D-pad) : l’entrée tactile peut entrer en conflit avec la navigation par focus sur certains appareils ; des améliorations sont prévues.
  • Partage de liens : /dumb fournit une interface alternative, ce qui soulève des questions sur le partage de liens canoniques entre les utilisateurs « dumb » et les utilisateurs standard. Une approche cohérente est encore en cours d’élaboration.

Crédits

Merci spécial à @ars18 (GitHub : https://github.com/alltechdev) pour ses contributions clés et pour avoir aidé à lancer l’idée originale.


Paramètres

Nom Description
dumbcourse_enabled Interrupteur principal on/off pour Dumbcourse.
dumbcourse_default_theme Thème par défaut pour /dumb (dark / light).
dumbcourse_default_view Vue d’accueil par défaut (latest / new / top / unseen / hot / my / categories).
dumbcourse_sidebar_link_enabled Ajoute un lien dans la barre latérale vers /dumb.

18 « J'aime »

Cela semble être une excellente idée !

Je n’aime pas l’apparition du nom dans les URL par contre - peut-on le rendre configurable, par exemple /simple/ au lieu de /dumb/ ?

(En vérité, je ne suis pas très satisfait du nom, mais si on peut le configurer, ça aide. C’est une insulte, et c’est plutôt idiomatique.)

3 « J'aime »

Wow, ça a l’air vraiment bien ! On dirait qu’il y a une solution aux frustrations de certains utilisateurs dues à la non-prise en charge des anciens navigateurs dans Dropping iOS 15 & other old browsers in July 2025.

Dans le monde des téléphones basiques, c’est accepté, mais oui, j’ajouterai un paramètre pour cela.

2 « J'aime »

J’ai récemment implémenté l’ajout des paramètres admin/mod. La file d’attente de révision nécessite encore du travail.

Captures d'écran

4 « J'aime »

J’ai oublié de mentionner, voici l’APK Android compagnon.

Prend en charge Android 6+ et Chrome WebView 44+.

Exemple (notre apk de forums)

3 « J'aime »

Voilà.

4 « J'aime »

Travail rapide… merci beaucoup !

@TripleU Il y a eu un certain nombre de demandes ici sur Meta demandant une option pour désactiver le défilement infini au profit de la pagination. Ce plugin y parvient-il ?

1 « J'aime »

Dumbcourse n’a pas cette option (pour l’instant, si les gens la veulent vraiment…).

4 « J'aime »

Poussé !

2 « J'aime »

Puis-je suggérer de changer le chemin (peut-être même le nom du plugin) pour quelque chose de moins insultant. Comme simple, basique.

Parce que ce n’est pas une fonctionnalité stupide, c’est en fait assez intelligent d’avoir une interface à faible fidélité.

1 « J'aime »

Vous êtes un peu en retard :grin:

4 « J'aime »

C’est très amusant, et j’adore le nom, car il y a une histoire d’ingénierie derrière, et je ne le trouve pas du tout insultant - mais la fourniture du réglage de l’itinéraire est un ajout fabuleux.

Enfin, en parlant de bêtises, je vous propose :

4 « J'aime »

Oh, cela soulève une question : quel est le traitement des images et des médias intégrés ? Sont-ils transformés en liens, supprimés, rendus,… ?

3 « J'aime »

Les images, vidéos, audios et iframes sont tous rendus en ligne dans le corps de la publication avec leurs URL réécrites vers la base d’actifs correcte.

2 « J'aime »

En test

1 « J'aime »

Splendide ! Cela semble donc être un bon moyen de rendre nos forums disponibles sur les anciens navigateurs (anciens ordinateurs, anciens téléphones, anciennes tablettes) comme indiqué dans la publication de Nate ci-dessus.

Existe-t-il un moyen pour un utilisateur de définir une préférence afin qu’il s’inscrive automatiquement à cette présentation ? (De préférence appelée par le nom choisi, pas nécessairement « dumb ».)

C’est bien, mais si vous y réfléchissez, ce n’est pas important. Si l’on voulait déployer cela dans une maison de retraite, un centre de formation pour adultes, ou dans de nombreux contextes où les gens sont désavantagés ou peu technophiles, ou simplement pas jeunes, ou pas locuteurs natifs de l’anglais, alors le fait que ce soit étiqueté « dumb » (stupide/simple) aura de très mauvaises répercussions. Ce n’est pas votre insulte ou votre absence d’insulte qui compte, ni la préoccupation de l’administrateur du site, mais l’utilisateur final potentiel.

2 « J'aime »

Je suis confus. Ils peuvent simplement visiter l’URL du chemin choisi. Voulez-vous dire autre chose ?

Ed, ne me prends pas pour une idiote, bien sûr que je comprends ça. Je vais m’arrêter maintenant parce que c’est une boîte de Pandore irritante…

4 « J'aime »