Discourse est une application Javascript monopage.
Cela signifie que la navigation dans l’application est extrêmement rapide. Le compromis avec les applications web modernes est qu’elles doivent être chargées et analysées lors de la première visualisation de la page. Bien que nous ayons beaucoup travaillé au fil des ans pour optimiser la façon dont nous servons les actifs du site, cela peut parfois être un peu lent en fonction des conditions de l’appareil/réseau.
Au cours des dernières semaines, nous avons activement travaillé et testé des améliorations potentielles pour le temps d’attente initial rencontré par les utilisateurs sur des connexions/appareils lents. Nous sommes heureux d’annoncer qu’à partir de ce commit, les sites Discourse afficheront désormais un écran de démarrage pendant le chargement des actifs du site.
À quoi cela ressemble-t-il ?
Nous avons activé cela sur Meta depuis un certain temps, vous l’avez donc peut-être déjà vu. Sinon, voici à quoi cela ressemble.
Comment ça marche ?
Si un utilisateur charge votre site Discourse, et que Discourse n’est pas analysé dans les deux secondes suivantes, nous affichons l’écran de démarrage. Donc, c’est basé sur le temps de connexion + 2 secondes.
Nous n’affichons pas l’écran de démarrage pour les utilisateurs sur des appareils/connexions rapides.
Comment puis-je l’obtenir ?
C’est une fonctionnalité du cœur de Discourse, et le paramètre est activé par défaut maintenant, donc tout ce que vous avez à faire est de mettre à jour vers la dernière version. Si, par hasard, vous avez expérimenté avec le paramètre que nous avons ajouté et que vous ne le voyez pas, assurez-vous que le paramètre du site splash_screen est activé.
Quels sont les avantages ?
En plus d’afficher quelque chose aux utilisateurs sur des appareils/connexions lents. Cette fonctionnalité réduit également les retards FCP/LCP sur les sites Discourse. Nous avons créé des outils internes pour suivre le FCP/LCP sur Meta, et voici à quoi ressemblent les résultats :
Y a-t-il autre chose que je devrais savoir ?
Le texte “loading” qui s’affiche dans l’écran de démarrage est basé sur la chaîne de traduction preloader_text. Notre communauté a été fantastique, et ce texte a déjà été traduit dans de nombreuses langues. Si vous préférez qu’il soit différent, vous pouvez personnaliser cette chaîne sous /admin/customize/site_texts?q=preloader_text sur votre site.
L’écran de démarrage ne retarde en aucun cas votre site et ne s’affiche que pendant le chargement des actifs du site. Une fois le site prêt, l’écran de démarrage est immédiatement supprimé. Il n’y a aucun délai entre le moment où le site est prêt et la suppression de l’écran de démarrage.


