Bonjour à tous, je possède et administre ce qui est, je crois, l’un des plus grands forums basés sur Drupal sur Internet, avec près de 2 millions de messages. Drupal 7 est en fin de vie, et Drupal 8/9 se transforme davantage en un framework pour programmeurs web qu’en un système de gestion de contenu prêt à l’emploi. Les nouvelles versions de Drupal n’offrent tout simplement pas les modules tiers dont j’ai besoin pour que mon forum continue ses fonctions de base, et grâce aux joies de PHP et aux nombreuses autres particularités de Drupal, la mise à niveau serait aussi infernale que la migration vers une plateforme complètement différente. Je vais donc devoir me résoudre à migrer vers autre chose. Je suis à peu près sûr que ce sera Discourse en raison d’un aspect unique du style de ma communauté de forum : je suis le seul modérateur, et ce n’est pas mon travail à temps plein. Au fil des ans, j’ai donc utilisé les frameworks flexibles Rules et Flag dans Drupal pour créer un système fragmenté de modération communautaire du spam et des messages offensants, avec suppression automatique des messages et/ou fermeture de comptes utilisateurs à certains seuils basés sur la nouveauté de l’utilisateur et le nombre d’utilisateurs qui l’ont signalé, tout en tenant compte de la nouveauté et de l’activité récente de signalement des utilisateurs qui signalent. En d’autres termes, c’est presque exactement ce que Discourse a mis en œuvre. Je suis vraiment heureux de voir que Discourse a reconnu la valeur de la modération communautaire et a mis en œuvre un système aussi complet et bien pensé dès le départ. Drupal 7 était et est toujours le seul CMS suffisamment flexible pour permettre ce type de fonctionnalité personnalisée sans être un développeur expérimenté, ce que je ne suis pas. Il semble donc que je vais passer à Discourse. Cependant, j’ai quelques préoccupations.
- Système de modération communautaire : Notre forum évalue actuellement une installation de terrain de jeu de Discourse. Je suis impressionné par le caractère complet et la réflexion derrière l’ensemble du système. Mais la communauté a remarqué quelques particularités :
- Je n’aime vraiment pas la façon dont il masque les messages automatiquement supprimés derrière « Afficher le contenu ignoré ». Si un message est suffisamment mauvais pour être supprimé par la communauté, il est soit très offensant, soit du pur spam, et je ne veux pas que les visiteurs ou les utilisateurs aient même la possibilité de le voir. Ceci est particulièrement problématique dans le cas de sujets qui sont du spam ou qui ont un titre offensant. Et les robots d’exploration des moteurs de recherche ne verraient-ils pas le contenu caché du spam ? Est-il possible de configurer le délai sans intervention de l’utilisateur avant qu’un message de spam automatiquement masqué ne soit complètement supprimé de la vue publique ? Et qu’en est-il des sujets et des messages qui ont été signalés par la communauté comme inappropriés ?
- J’ai lu ici que « Note : Toutes les valeurs mentionnées ci-dessus sont les paramètres par défaut. Elles peuvent être modifiées par les administrateurs dans les paramètres du site » concernant les seuils qui conduisent à la suppression de messages et/ou au silence des utilisateurs, mais je ne vois pas ces paramètres granulaires dans mon instance de test Discourse. Tout ce que je trouve, c’est « sensibilité de masquage des messages » et « sensibilité de silence des nouveaux utilisateurs », mais je ne comprends pas à quoi cette sensibilité se rapporte concrètement.
- Je voudrais supprimer la raison « hors sujet » pour signaler un message. Notre communauté de forum est très décontractée à cet égard et a une culture de forum où les messages hors sujet sont très courants et bien acceptés. Mise à jour : Il semble que ceci pourrait fonctionner.
- Migration des messages privés : Le forum actuel compte près d’un million de fils de messages privés utilisant le module Drupal 7 privatemsg, et le script de migration Drupal → Discourse ne le gère pas. Cela semble être une omission majeure, car malgré le fait qu’il s’agisse d’un module tiers (dans la mode typique de Drupal), c’est essentiellement la fonctionnalité de messagerie privée de facto que les administrateurs de Drupal 7 utilisent.
- Conversion du format des messages : Malheureusement, le forum actuel utilise un mélange de messages en HTML pur et en Textile. Je comprends que le script de migration peut gérer le HTML pur (veuillez me corriger si je me trompe) mais pas le Textile. Si possible, j’aimerais convertir les messages Textile en HTML ou en Markdown, selon ce qui est le plus facile. On m’a dit que Pandoc pouvait être intégré au script de migration, mais que cela augmenterait massivement le temps de migration. J’ai cherché des modules Drupal pour convertir le format des messages existants, mais je n’ai trouvé que ceci, qui ne prend pas en charge le traitement par lots pour le nombre massif de messages, et il ne prend pas en charge le paradigme des « commentaires » de Drupal, qui constituent la grande majorité des « messages » à convertir. J’ai donc pensé à faire une sorte de recherche/remplacement hors ligne sur le fichier de sauvegarde de la base de données avec
sed, similaire à ce qui est décrit ici. Des suggestions ou des solutions seraient les bienvenues. Je suis un utilisateur Linux expérimenté et j’ai travaillé de manière intermittente avec les expressions régulières, mais je ne suis toujours pas doué pour cela. Édition : Ceci est une option intéressante pour trouver/remplacer une fois que les données brutes sont dans Discourse. - Publicités : Je suis vraiment heureux de voir que le plugin de publicité pour Discourse semble avoir beaucoup mûri depuis la dernière fois que je l’ai examiné. Je comprends que les publicités internes me permettront de placer des bannières d’images à des endroits spécifiques avec un lien cible lorsqu’elles sont cliquées, et que si plusieurs publicités sont assignées au même endroit, elles seront sélectionnées au hasard, n’est-ce pas ? Cependant, je n’ai aucune idée de la façon de gérer le paradigme mobile. Sur mon forum actuel, j’ai une bannière horizontale en haut et trois bannières verticales dans la barre latérale gauche, qui ne seraient pas réalisables pour les utilisateurs mobiles dans l’interface réactive de Discourse. Édition : Je devrai peut-être modifier le plugin de publicité pour mes besoins, offre payante ici.
- Permaliens : Le schéma d’URL de Drupal comporte deux composantes principales :
/node/XXXXXXXet des liens vers des commentaires spécifiques dans ces nœuds/comment/YYYYYYY#comment-YYYYYYY(YYYYYYYest le même dans les deux cas). Le script de migration Drupal 7 → Discourse maintiendra-t-il automatiquement ces liens afin que les liens dans les messages vers d’autres fils ou messages fonctionnent toujours et maintiennent le SEO ? Qu’en est-il d’un fichiersitemap.xmlpour les moteurs de recherche ? - Traitement par lots : Pendant la migration, fonctionnera-t-elle par lots ? Que se passe-t-il si elle rencontre une erreur ? Après l’avoir corrigée, continuera-t-elle ou faudra-t-il recommencer depuis le début ?
- Anciens utilisateurs d’appareils Apple : Je comprends bien sûr les dangers d’utiliser des navigateurs obsolètes. Pour Windows et les anciens appareils Android, il existe presque toujours un moyen d’installer un navigateur moderne compatible avec Discourse. Mais je suis préoccupé par l’un de mes utilisateurs qui prétend avoir un Mac de 2015 qui ne reçoit aucune mise à jour et qui ne peut rien installer d’autre que l’ancienne version de Safari qui lui affiche des avis de dépréciation avec Discourse. Je connais très peu les appareils Apple, à part le fait qu’ils sont beaucoup plus verrouillés. Est-il vraiment si difficile d’installer d’autres navigateurs modernes sur eux ?
- Stockage d’images / téléchargements : Mes utilisateurs et moi aimons la facilité de téléchargement d’images dans Discourse, mais je suis un peu inquiet de l’espace de stockage et des coûts. La meilleure option à long terme serait probablement de monter un volume de stockage réseau sur le VPS si nécessaire. Si j’installe initialement Discourse avec l’emplacement de téléchargement par défaut, cela posera-t-il des problèmes de le déplacer vers un autre volume plus tard ?
- Sauvegardes :
- J’aimerais qu’il existe un système de sauvegardes différentielles, ou mieux encore, dédupliquées. J’utilise actuellement Duplicity avec Amazon S3 pour mon forum Drupal, et les coûts sont incroyablement bas pour une très longue histoire de révisions. Quelqu’un sait-il à brûle-pourpoint combien de temps après la création d’une archive S3 une règle peut la faire passer à Glacier ?
- L’interface de sauvegarde de Discourse permet-elle de supprimer des archives dans Amazon S3 ? Je sais que c’est un peu extrême, mais je voudrais désactiver cette fonctionnalité, car j’ai configuré mes buckets S3 avec uniquement les permissions PUT, GET et LIST pour empêcher un pirate sur le système compromis de supprimer mes sauvegardes distantes. Ensuite, une règle de cycle de vie S3 intervient et supprime côté serveur les archives plus anciennes après un certain temps.
- Plugin Stop Forum Spam : Je ne veux pas utiliser Akismet, mais j’ai toujours eu de bons résultats avec StopForumSpam.com pour empêcher la création de nombreux comptes spammeurs.
Quelqu’un sait-il si le plugin pour Discourse a des seuils configurables pour le nombre de correspondances qu’un nom d’utilisateur, une adresse IP ou une adresse e-mail doit avoir dans la base de données pour être rejeté ?Édition : Non, il n’en a pas. Demandé ici. De plus, il n’intervient malheureusement pas pour réellement empêcher la création de comptes s’ils ont suffisamment de correspondances dans la base de données SFS, comme il le fait dans Drupal.
Désolé pour le long message. Merci d’avance à tous pour vos éclaircissements, et un grand merci à toute l’équipe du projet Discourse pour cet excellent produit.