Ce projet est mis en pause pour le moment. Nous pourrions le reprendre à l’avenir et publierons une mise à jour ici si tel est le cas.
Nous introduisons une fonctionnalité expérimentale pour aider les communautés avec un grand nombre de catégories. ![]()
Ces derniers mois, nous avons travaillé d’arrache-pied pour améliorer le fonctionnement des sites Discourse pour les communautés ayant de nombreuses catégories (et pas seulement !) Cela permettra aux administrateurs de créer des milliers de catégories tout en conservant l’expérience utilisateur conviviale à laquelle vous êtes habitués.
Il s’agit toujours d’une fonctionnalité expérimentale et elle peut être activée en ajustant le paramètre de site lazy_loaded_categories_groups. Elle est actuellement désactivée par défaut.
Comment cela fonctionne-t-il ?
Actuellement, toutes les données de catégorie sont chargées lorsque vous naviguez vers une communauté Discourse. C’est ce qu’on appelle le « chargement anticipé » (eager loading) et ce n’est pas idéal pour les sites avec de nombreuses catégories, car cela signifie que beaucoup d’informations sont transférées avant le premier rendu, ce qui augmente le temps de chargement global.
La nouvelle méthode s’appelle le « chargement différé » (lazy loading) et différera le chargement des informations sur une catégorie jusqu’à ce qu’elles soient réellement nécessaires (par exemple, lors de la recherche d’une catégorie, de la navigation ou du lien vers une catégorie, de la lecture d’un sujet ou d’un message la mentionnant, etc.). Moins de données transférées signifie un temps de chargement plus rapide et des utilisateurs plus heureux ! ![]()
Qu’est-ce que cela signifie pour vous, en tant que membre de Meta ?
Nous avons testé cette fonctionnalité de manière approfondie en interne, mais compte tenu de l’étendue du travail effectué, il existe une légère possibilité d’introduction de bogues. Si vous remarquez un dysfonctionnement lié aux catégories, veuillez nous en informer en répondant à ce sujet ou en ouvrant un sujet dans Bug.
Qu’est-ce que cela signifie pour vous ou votre communauté ?
Que vous soyez hébergé par nous ou que vous soyez auto-hébergé, cette fonctionnalité est désactivée par défaut et ne devrait entraîner aucun changement visible.
Cependant, si vous envisagez d’étendre votre communauté pour qu’elle comporte de nombreuses catégories, nous vous encourageons fortement à activer cette fonctionnalité.
À l’avenir, nous allons l’activer par défaut et éventuellement déprécier et supprimer le code qui « charge anticipativement » les catégories.
Qu’est-ce que cela signifie pour les développeurs de plugins et de thèmes ?
En général, il ne devrait y avoir que peu ou pas de changements nécessaires pour la plupart des plugins, tant qu’ils utilisent les composants de catégorie du cœur ou les données préchargées (par exemple, interrogez uniquement les catégories déjà visibles lors du chargement de la page, car cela signifie qu’elles ont déjà été préchargées).
Certains problèmes peuvent survenir lorsque l’on essaie d’utiliser des informations pour des catégories qui n’ont pas encore été chargées. La méthode Category.findByIds continuera de ne retourner que les catégories déjà chargées, tandis que Category.asyncFindByIds peut effectuer une recherche sur le serveur si l’information n’a pas encore été chargée.

















