Ce guide explique les différents modes lecture seule disponibles dans Discourse, comment les activer et les désactiver, et les scénarios dans lesquels vous pourriez vouloir utiliser chaque mode.
Niveau d’utilisateur requis : Administrateur
La gestion d’une communauté en ligne dynamique sur Discourse nécessite parfois aux administrateurs de limiter temporairement les activités des utilisateurs. Ces situations peuvent aller de la maintenance du serveur, à la facilitation des sauvegardes, ou à la transition de serveurs. Pendant ces périodes, il est crucial de restreindre les activités du forum sans pour autant fermer complètement l’accès aux utilisateurs.
Discourse propose différents Modes Lecture Seule que les administrateurs peuvent activer pour figer temporairement différents types d’interactions au sein d’un site.
Ce guide explore ces modes, en se concentrant spécifiquement sur la manière de les activer et de les désactiver, y compris la gestion des situations où certains modes se recoupent.
Comprendre les Modes Lecture Seule
Discourse prend en charge deux niveaux différents de modes Lecture Seule, adaptés à divers besoins administratifs. Il s’agit de :
-
Mode Lecture Seule Complet
- Restreint toutes les opérations d’écriture dans le forum, empêchant tout utilisateur de créer ou de modifier du contenu, comme poster, commenter ou aimer.
- Permet au forum d’être essentiellement “gelé” dans son état actuel, de sorte que les utilisateurs puissent toujours lire et naviguer dans le contenu existant sans impacter la base de données.
- Désactive la modification des paramètres du site d’administration ou des personnalisations du site afin que l’état actuel de la base de données soit préservé.
- Désactive les nouvelles connexions au forum.
-
Mode Écriture Seule pour le Personnel
- Restreint les utilisateurs standards des opérations d’écriture dans le forum, comme poster, commenter ou aimer. Les utilisateurs standards sont limités aux opérations de lecture seule et ne pourront pas se connecter à leur compte une fois ce mode activé.
- Permet aux activités des administrateurs et des modérateurs de se poursuivre normalement. Les administrateurs peuvent modifier les paramètres du site, et les utilisateurs du personnel peuvent effectuer des opérations d’écriture comme poster, aimer ou modifier des profils.
Ces modes garantissent la flexibilité dans la gestion de l’opérabilité du forum pendant les périodes administratives critiques.
Comment Activer/Désactiver les Modes Lecture Seule
Les administrateurs doivent gérer avec soin la transition entre les différents modes lecture seule. Avant d’activer un mode lecture seule, assurez-vous que tout mode précédemment activé est désactivé.
Mode Lecture Seule Complet
Via la Console Rails
Si vous avez accès à votre installation Discourse, utilisez l’interface de ligne de commande Discourse rails pour exécuter la commande suivante après être entré dans votre conteneur Docker avec ./launcher enter app puis dans la console rails avec rails c :
Discourse.enable_readonly_mode(Discourse::USER_READONLY_MODE_KEY)
Via le Panneau d’Administration
Si vous avez un accès administratif via l’interface web, vous pouvez naviguer vers Admin > Sauvegardes > Activer le Mode Lecture Seule pour activer le mode lecture seule.
Pour désactiver le Mode Lecture Seule, exécutez la commande rails suivante :
Discourse.disable_readonly_mode(Discourse::USER_READONLY_MODE_KEY)
Ou, utilisez le panneau d’administration en naviguant vers Admin > Sauvegardes > Désactiver le Mode Lecture Seule.
Mode Écriture Seule pour le Personnel
Le mode Écriture Seule pour le Personnel ne peut être activé / désactivé que depuis la console rails de Discourse. Si votre site est hébergé par Discourse, veuillez contacter team@discourse.org si vous souhaitez activer ou désactiver l’un de ces modes.
Pour activer le Mode Écriture Seule pour le Personnel, utilisez la commande suivante dans la console rails :
Discourse.enable_readonly_mode(Discourse::STAFF_WRITES_ONLY_MODE_KEY)
Pour désactiver :
Discourse.disable_readonly_mode(Discourse::STAFF_WRITES_ONLY_MODE_KEY)
Meilleures Pratiques
- Communication en temps voulu : Informez votre communauté des périodes de lecture seule prévues à l’avance pour définir des attentes appropriées.
- Tests : Avant de mettre en œuvre ces modes pendant des opérations critiques, effectuez des tests pendant les périodes de faible trafic pour comprendre leur impact.
- Documentation : Tenez des registres détaillés des moments et des raisons pour lesquels chaque mode a été activé ou désactivé afin d’aider à la planification opérationnelle future.
FAQ
-
Combien de temps faut-il pour activer/désactiver le Mode Lecture Seule ?
- Le changement est immédiat. Cependant, l’expérience utilisateur peut varier légèrement en fonction de ses actions pendant la période de transition.
-
Au secours ! Je suis bloqué hors de mon site à cause du mode lecture seule - que puis-je faire pour accéder à nouveau à mon site ?
-
J’ai remarqué qu’il y a d’autres modes
READ-ONLYlistés dans discourse/lib/discourse.rb, que font ces modes ?READONLY_MODE_KEYest principalement utilisé pour le processus de sauvegarde et de restauration et est déclenché par l’application elle-même. Ce mode peut également être activé ou désactivé depuis l’interface de ligne de commande Discourse avecdiscourse enable_readonlyetdiscourse disable_readonly. Cependant, cette clé ne survivra pas à un redémarrage du conteneur.USER_READONLY_MODE_KEYest utilisé lorsqu’un administrateur clique sur le bouton lecture seule dans l’interface d’administration. La particularité de cette clé est que nous ne la définissons pas comme une clé expirant, car la lecture seule activée par un utilisateur doit survivre aux redémarrages du conteneur. Les autres clés sont définies avec une durée de vie de 60 secondes et nous avons un thread pour prolonger l’expiration toutes les 30 secondes afin de garantir qu’une application ne soit jamais bloquée en mode lecture seule.PG_READONLY_MODE_KEYetPG_FORCE_READONLY_MODE_KEYsont utilisés pour le basculement PG. Le premier est défini comme une clé expirant tandis que le second n’expire pas.

