Configuration communautaire
Configuration communautaire
Généraliser le concept de Configuration communautaire pour qu'il soit utilisable par tout développeur MediaWiki.
|
Résumé
L'extension CommunityConfiguration a été développée pour aider les communautés à personnaliser les fonctionnalités du wiki pour répondre à leurs besoins uniques. La Configuration communautaire permet aux administrateurs de personnaliser les paramètres pour leur communauté et applique un processus de développement du produit plus inclusif et collaboratif, permettant ainsi à la WMF de mieux servir le mouvement Wikimedia.
A l'origine, l'équipe Croissance a développé la Configuration communautaire pour aider les communautés à personnaliser et à dimensionner les fonctionnalités de Croissance. Avec le succès de cette fonctionnalite, il est devenu évident que les autres équipes de la WMF, les développeurs externes et les autres utilisateurs de MediaWiki pourraient bénéficier de cet outil, et donc l'équipe Croissance a déplacé cette fonctionnalité de l'extension GrowthExperiments vers une extension séparée.
Etat actuel
- - Le travail a commencé sur la Configuration communautaire de Croissance
- - La Configuration communautaire de Croissance est disponible sur tous les wikis de Croissance
- - Session de hackathon : Configuration communautaire – permettre aux communautés de prendre le contrôle à l'aide de la configuration JSON (diapositives de session hackathon, Google Slides)
- - Présenter les plans initiaux au Wikimania (Moderator support slides)
- - Technical RFC announced on wikitech-l
- - La Configuration communautaire 2.0 est renommée en Community Configuration, pour simplifier. La Configuration de la communauté Croissance est considérée séparément comme un pré-projet.
- - L'extension Configuration Communautaire a été publiée sur toutes les Wikipedia bêta et sur la Wikipedia de Test.
- - L'extension Configuration communautaire a été publiée sur les wikis pilotes de Croissance (Wikipedia espagnole et arabe).
- - Diffusion sur toutes les Wikipedias(T360571)
- Ensuite : d'autres configurations seront disponibles.
Hypothèse
Si les éditeurs avec des droits étendus peuvent configurer de manière transparente et facile des fonctionnalités importantes sur le wiki pour tous les utilisateurs, les communautés auront le contrôle de la façon dont les fonctionnalités opèrent sur leurs wikis, et les équipes de la WMF pourront envoyer de nouvelles fonctionnalités rapidement.
L'équipe Croissance est guidée par le Plan annuel de la Fondation Wikimedia et les Objectifs et résultats clé du département Produit et technologie. Cette hypothèse et le projet associé sont l'un des projets multiples de l'équipe WMF sous le Résultat clé des WikiExperiences 1.2, qui s'intéresse à l'accroissement de l'expérience utilisateur pour les éditeurs qui possèdent des droits étendus.
L'équipe Croissance et cinq autres équipes de la Fondation Wikimedia se concentrent sur les projets relatifs à cela pour le résultat-clé des WikiExperiences 1.2.
Cas d'utilisation
Il existe de nombreux cas d'utilisation qui soulignent la nécessité d'une façon standard de configurer les fonctionnalités de la communauté. La configuration communautaire sera plus extensible et évolutive, et utilisable en dehors de l'extension GrowthExperiments, ce qui la positionnera comme un atout précieux pour les autres équipes de la WMF et leurs caractéristiques respectives. La Configuration communautaire a été identifiée comme un besoin par plusieurs équipes de la WMF et leurs priorités du plan annuel associé :
- Equipe d'édition : vérification des modifications (T327563)
- Cas potentiel d'utilisation : les Communautés configureront lorsqu'un contrôle d'édition de référence sera déclenché ainsi que le message résultant et les sorties.
- Equipe de l'outil Moderator : Automoderator (T365046)
- Cas potentiel d'utilisation : les communautés configureront Automoderator pour qu'il ne prenne les actions que sur certains groupes d'utilisateurs.
- Equipe Confiance et sécurité du produit : Système de rapport des incidents
- Cas potentiel d'utilisation : les communautés vont configurer les voies des différents types de rapports d'incidents, ainsi que les règles concernant qui peut utiliser le système et dans quelle situation.
- Equipe des sondages : extension CampaignEvents (T370724)
- Cas potentiel d'utilisation : les communautés configureront si certaines des fonctionnalités CampaignEvents sont disponibles sur leur wikis.
- Equipe de l'application pour mobile : outils anti-vandalisme pour l'application Android.
- Cas potentiel d'utilisation : les communautés peuvent créer des modèles d'avertissement à afficher sur les applications officielles pour mobile de la WMF et les applications tierces de patrouille.
- Equipe Web : accessibilité de la lecture
- Cas potentiel d'utilisation : il est possible que les communautés aient à définir les tailles par défaut des fontes car l'écriture dans certaines langues doit être agrandie pour être lisible et satisfaire aux besoins de l'accessibilité.
Beaucoup d'autres cas d'utilisation ont été discutés par les membres de la communauté et ils sont listés dans l'épic associée : T323811.
Buts
Ce que nous voulons
- Créer un outil facilement compréhensible par tout contributeur expérimenté.
- Donner aux communautés la possibilité de personnaliser les fonctionnalités du wiki pour mieux répondre aux besoins locaux de leur wiki.
- Créer un outil qui aide à accroître la vitesse avec laquelle les équipes de produits et de technologie de la WMF peuvent étendre les fonctionnalités à tous les wikis.
- Créer un outil qui aide les développeurs bénévoles, les créateurs de gadgets et tout développeur de logiciel intéressé par créer des outils communautaires configurables pour MediaWiki.
Ce que nous ne voulons pas
- Créer un outil qui crée des préjugés ou qui ne profite qu'à un groupe d'utilisateurs.
- Créer un outil qui fonctionne uniquement avec certaines fonctionnalités.
- Créer un outil difficile à trouver ou à comprendre.
Résultats clés
Les objectifs et les résultats clés de ce projet seront établis en collaboration avec des rédacteurs ayant des droits étendus. Quelques résultats clés potentiels pourraient être :
- D'ici fin mars 2024, les fonctionnalités de Croissance configurables utiliseront la configuration communautaire.
- D'ici fin juin 2024, au moins une autre équipe du WMF en matière de produits et de technologie aura lancé ou est en phase de développement active d'un projet utilisant la configuration communautaire.
- A la fin de cettte année fiscale 2024, la Configuration communautaire aura été utilisée pour personnaliser au moins 20 wikis. En d'autres termes, les contributeurs avec des droits étendus sont informés et utilisent la Configuration communautaire.
- D'ici la fin de l'exercice 2024, des lignes directrices initiales relatives aux types de fonctionnalités qui devraient ou ne devraient pas figurer dans la configuration communautaire et aux types de droits des utilisateurs seront convenues en consultation et en collaboration avec des bénévoles et les équipes des produits intéressés.
Considérations techniques
Leçons techniques de la Configuration communautaire 1.0
La configuration communautaire 1.0 fut un défi pour les éléments suivants :
- Modifications : une fois qu'un paramètre de configuration a été initialisé pour le wiki, il est difficile de modifier son format (il faut modifier les fichiers de configuration et mettre à jour leur format). CC 1.0 pose problème pour la compatibilité avant et arrière.
- Accès externe : les valeurs de configuration ne peuvent pas être accédées facilement à partir des clients externes (tels que l'application Android), par exemple sans charger la page JSON sous-jacente, dont la structure ne peut être changée sans en informer l'équipe Croissance.
- Extensibilité : ajouter de nouveaux champs au formulaire de configuration n'est pas si compliqué et on l'oublie souvent. Les fichiers JSON d'arrière plan donnent accès aux administrateurs à plus d'options que Special:EditGrowthConfig n'en propose. Malheureusement, la plupart de ces possibilités masquées ne sont connues que des ingénieurs de Croissance.
- Supprimable : la configuration stockée sous la forme de fichiers JSON sur le wiki a ses inconvénients. Le plus grave que l'équipe Croissance ait rencontré est que ces fichiers peuvent être effacés (exemple : T344013). Dans cette situation, les fonctionnalités de Croissance se replient sur les valeurs par défaut fournies par extension.json qui arrêtent l'expérience des nouveaux venus (bien que cela ne casse rien du point de vue technique, l'expérience utilisateur est pratiquement inutilisable).
- Soudaineté : il vaut mieux être au courant de certains changements de configuration lorsqu'ils se produisent, afin d'adapter les réactions en conséquence. Par exemple si un wiki décide de rendre Ajouter un lien inactif, l'équipe Croissance aimerait savoir pourquoi et si possible solutionner le ou les problèmes identifiés par la communauté. Ceci n'est pas possible (facilement) avec CC1.0.
Contraintes techniques de haut niveau
La Configuration communautaire devrait être :
- Auditable : toute modification faite à la configuration doit être auditable, y compris les motifs de la personne qui a modifié, pourquoi on a changé et le contenu de la modification. L'expérience est assimilée à l'historique des pages MediaWiki, car c'est ce à quoi les utilisateurs sont habitués.
- Extensible : bien que nous ayons pris des décisions ciblées (par exemple, ne pas inclure de gadgets dans le MVP), ces décisions ne devraient pas affecter la possibilité d'étendre la Configuration communautaire à l'avenir sans trop d'effort.
- Disponibilité externe : les utilisateurs externes à MediaWiki devraient pouvoir accéder aux valeurs de configuration actuelles configurées via la Configuration communautaire. Ceci est nécessaire pour nous assurer que les valeurs de la Configuration communautaire peuvent être utilisées à partir d'emplacements externes à MediaWiki (tels que les applications Wikipedia pour les équipements mobiles, les outils Toolforge et équivalents).
Discussion de la communauté
Dans le cadre de ce projet, nous consulterons trois groupes principaux d'intervenants :
- Communautés de wikis : comprenant les administrateurs Wikipedia et les utilisateurs avec des droits étendus qui ont utilisé la Configuration communautaire de Croissance précédemment ou qui pourraient l'utiliser à l'avenir. Nous consulterons aussi les développeurs de scripts utilisateur et de gadgets.
- Communauté technique : discussion plus large avec la communauté technique en général (wikitech-l, développeurs du noyau MediaWiki).
- Equipes de la WMF : les ėquipes Produit et technologie de la Fondation Wikimedia se sont intėressėes à l'utilisation de la Configuration communautaire dans les projets amont.
Questions ouvertes
- Que pensez-vous de la perspective que davantage d'équipes WMF développent des fonctionnalités qui peuvent être activées, désactivées et configurées par vos administrateurs locaux de wiki ? Avez-vous des réserves ou des préoccupations à propos de ce projet ?
- Que pouvons-nous faire pour nous assurer que tous les administrateurs sont bien informés de ces outils ?
- Les administrateurs ont-ils confiance dans la possibilité d'apporter des modifications à la Configuration communautaire ? Quelles parties de la procédure ne sont pas claires ou sont ambigües ?
- Alors que la Configuration communautaire devrait être visible pour tous, elle ne devrait être modifiable que par un groupe sélectionné de Wikimédiens expérimentés ? Toutes les options de configuration doivent-elles être éditables exclusivement par les administrateurs et les administrateurs d'interface ? Devrions-nous envisager différents niveaux d'accès des utilisateurs pour certaines options de configuration communautaire ?
- Avez-vous des idées ou des suggestions sur la meilleure façon de définir et de mesurer le succès de ce projet ?
- Portée de la configuration communautaire : elle prend en charge les scripts utilisateur, les gadgets, les applications externes (comme l'application Wikipedia Android / iOS).
- Comment gérer les modifications de configuration qui doivent s'appliquer à (presque) tous les projets Wikimedia ?
Communautés des wikis
Le spécialiste des relations communautaires de l'équipe Croissance a contacté les administrateurs qui ont récemment modifié la Configuration communautaire de l'équipe Croissance (T336608). Les principales idées que les administrateurs ont communiquées sont :
- Les rôles et processus habituels pour suivre et modifier la configuration sont par préférence :
- Toutes les pages de configuration doivent être lisibles par tous.
- Les administrateurs (ou les administrateurs d'interface) devraient être en mesure de modifier parce qu'ils ont suffisamment de connaissances.
- Les administrateurs peuvent appliquer les demandes faites après une discussion communautaire.
- Il est nécessaire d'avoir un historique des demandes et de suivre les modifications.
- Cette page de configuration peut avoir un impact sur de nombreux utilisateurs et doit être traitée avec soin. Plusieurs moyens de prévenir les problèmes ont été suggérés :
- La création d'un nouveau rôle pour les administrateurs de confiance qui comprennent la Configuration communautaire.
- Création d'un processus de révision pour valider une modification faite par un administrateur.
- Une page d'historique claire et centralisée est nécessaire pour repérer les changements apportés aux différentes configurations.
Présentation Wikimania
Le responsable des produits de l'équipe Croissance s'est présenté au Wikimania Singapour pour partager les détails initiaux sur le projet de configuration communautaire ainsi que sur d'autres projets que les équipes de la WMF sont en train de mener à bien pour soutenir les modérateurs. Nous avons répondu aux questions suivantes des participants :
- La page Special: est-elle disponible pour les non administrateurs en mode lecture seule ?
- Oui, la page spéciale est actuellement disponible et affichable par tous. Seuls les administrateurs peuvent actuellement modifier la configuration. Exemple : Special:EditGrowthConfig.
- La Configuration communautaire sera-t-elle disponible sur les autres wikis en dehors de Wikipedia ?
- Actuellement la version 1.0 de la Configuration communautaire fait partie de l'extension GrowthExperiments et c'est pourquoi elle n'est disponible que sur les wikis qui ont activé cette extension. Nous espérons générer la version d'une manière qui soit plus extensible et flexible de sorte qu'elle puisse être utilisée sur n'importe quel wiki qui installe l'extension Configuration communautaire.
- Notre objectif est d'étendre l'extension sur tous les projets Wikimedia. Avoir la Configuration communautaire activée dans tous les projets Wikimedia faciliterait son intégration, car vous pourriez compter sur l'extension toujours disponible dans un contexte Wikimedia.
- Si nous connaissons des cas d'utilisation spécifiques pour la Configuration communautaire, où pouvons-nous partager cette information afin que l'équipe Croissance les prennent en considération ?
- Bien qu'il ne nous soit pas possible de promettre que nous pourrons tout prendre en charge dans la version initiale, nous compilons une liste de cas d'utilisation dans l'Epic Configuration communautaire. Tout membre de la communauté qui a des idées est le bienvenu pour ajouter des commentaires à cette tâche avec le cas d'utilisation (bien sûr nous acceptons également les retours et les commentaires ici, sur la page de discussion).
- Y aura-t-il des cas avec des restrictions supplémentaires ou des avertissements sur ce qu'un administrateur peut modifier ?
- Ce projet comprendra la création de lignes directrices sur l'utilisation de cette fonctionnalité. Nous allons créer une meilleure intégration pour les administrateurs, ainsi que des lignes directrices pour les développeurs pour les ingénieurs qui soutiennent la configuration communautaire de fonctionnalités non liées à Croissance.
- Il y aura également des contrôles d'erreur et des avertissements afin de garantir la plus grande stabilité possible de la configuration communautaire. Par exemple : si le formulaire s'attend à un entier positif dans un certain champ, le formulaire présentera une erreur si un entier négatif ou une chaîne non entière est ajoutée.
- Nous avons envisagé la configuration communautaire qui pourrait éventuellement appuyer un processus dans lequel plus d'un administrateur doit approuver un changement si le changement peut être controversé ou avoir un impact important. Ce ne sera pas une partie du MVP, mais nous pourrions l'envisager dans le futur.
- La Configuration communautaire fonctionnera-t-elle pour les applications externes comme les applications Android et iOS de Wikipedia ?
- La configuration communautaire sera lisible par des applications externes, mais la forme actuelle de la configuration communautaire ne sera pas ajustable par les administrateurs à l'intérieur des applications.
- Les administrateurs d'interface pourront-ils encore modifier les fichiers de configuration JSON s'ils sont aussi modifiables par la communauté, ou bien ces modifications seront-elles restreintes aux mises à jour via la Configuration communautaire ?
- La configuration communautaire ne restreindra pas les administrateurs d'interface à apporter des modifications aux fichiers de configuration JSON. Cependant, il se peut qu'à l'avenir, il y ait des configurations que les administrateurs ne devraient pas être en mesure de modifier. Si cela se produit, nous devrons restreindre l'édition manuelle de tout fichier JSON brut associé à cette configuration.
Equipes de la WMF
Nous avons terminé une première tournée d'écoute avec neuf équipes de produits WMF. Voici quelques conseils :
- Chaque équipe a des besoins soit à court ou à long terme pour la configuration communautaire; les besoins à court terme doivent être documentés en tant que Cas d'utilisation de la Configuration communautaire.
- Plusieurs équipes ont noté l'importance de la transparence des données pour les décisions de configuration.
- Plusieurs équipes ont mentionné le besoin de métriques ainsi que la possibilité pour la communauté d'évaluer les décisions de la Configuration communautaire.
- Les équipes ont mentionné quelques problèmes sociaux, y compris : la responsabilité et la transparence, l'équilibre entre les exigences juridiques et l'autonomie de la communauté, la découvrabilité, les droits et les rôles des utilisateurs, et la nécessité d'éviter d'alourdir la charge des patrouilleurs.
- Les équipes ont mentionné quelques problèmes techniques, particulièrement le besoin pour la Configuration communautaire d'être nuancée et flexible.
Sondage technique
Nous avons mené une discussion plus large avec les participants techniques en ouvrant un fil de discussion wikitech-l où on expliquait le projet en demandant des commentaires dans la tâche Phabricator associée (T349757) et le document sur les conditions du Produit Configuration communautaire. Après avoir discuté des commentaires et répondu aux préoccupations en créant des tâches de suivi (comme T351227), nous avons finalisé le RFC technique.
Recherche
Relecture comparée
L'architecte de l'équipe Croissance a réalisé une revue comparative brève des outils administrateur utilisés sur les autres plateformes (T338386). Le rapport complet est disponible ici : Analyse comparative : Configuration / Outils d'administration. Le résumé des informations pertinentes relatives au projet de configuration communautaire de l'équipe Croissance est le suivant :
- La plupart des outils utilisent un tableau des tâches comme première chose que vous voyez lorsque vous entrez dans le panneau – vous pouvez accéder à des éléments comme l'activité récente, les liens rapides, les informations pratiques.
- En termes d'organisation ou de placement, la plupart des outils utilisent des modules tout en ayant une barre latérale à gauche, avec des éléments de menu qui peuvent être étendus dans certains outils.
- Certaines plateformes permettent aux utilisateurs ou aux communautés de personnaliser les modules et leur présentation - par exemple, les modules pouvant glisser vers différentes parties de l'écran, ou pouvant cacher des modules que vous ou votre communauté n'utilisez pas.
- Paramètres de l'interface utilisateur : pour la plupart d'entre eux, les outils utilisent des composants tels que des commutateurs d'option (activé / désactivé), des entrées de texte et des menus déroulants.
- Typologie des paramètres :
- Affichage des paramėtres : pouvoir changer la couleur, l'affichage, etc... d'une fonctionnalitė
- Accès aux fonctionnalités : certaines fonctionnalités doivent être débrayables (activées / désactivées)
- Seuils / Limites : comme une certaine activité ne pouvant pas être faite plus de X fois par jour.
- Accès / droits des utilisateurs : seuls certains groupes d'utilisateurs ont accès à une fonctionnalité donnée
- Orientation public ou autre personnalisation conditionnelle : par exemple les liens vers des ressources qui sont diffėrentes selon la communautė.
Interview des éditeurs
L'équipe Croissance s'est associée à l'ėquipe de recherche d'architecture de la WMF pour mener des entretiens semi-structurés avec les administrateurs et les Wikimédiens expérimentés de la Wikipédia en anglais, la Wikipédia en espagnol et la Wikipédia en swahili. Voici quelques conseils clés :
- Les participants des plus petits wikis sont enthousiastes quant à la façon dont la Configuration communautaire est démocratique.
- Les participants des wikis plus larges pensent que les restrictions et les permissions qui gouvernent actuellement la configuration continueront de le faire avec la Configuration communautaire.
- Les participants ont constaté que les structures de la Configuration communautaire étaient une amélioration par rapport aux processus et aux systèmes de configuration existants auxquels ils étaient habitués.
- Les préoccupations des participants concernant le fait de permettre à trop de personnes de modifier la configuration se sont réduites une fois que les participants ont interagi avec les prototypes de la Configuration communautaire.
- Les messages explicatifs, l'image du logo et le titre de la page utilisés dans le prototype devraient être réexaminés à la lumière du fait que la Configuration communautaire sera utilisée par de nombreux locuteurs non techniques et non natifs de l'anglais.
Architecture
Architectures initiales
Nous utiliserons ce que nous avons appris de la page Special:EditGrowthConfig existante pour rendre la nouvelle page Configuration communautaire plus conviviale, intuitive et évolutive. Nous étudions actuellement deux concepts d'archite ture principaux pour la page de la Configuration communautaire : une mise en page de style accordéon ou un format style tableau de bord. Nous allons recueillir les commentaires de la communauté pour déterminer quelle structure nous poursuivons et comment nous pouvons améliorer davantage la conception et l'expérience utilisateur de la Configuration communautaire.
-
Concept A : style accordéon
-
Concept B : style tableau de bord
Architectures de la seconde itération
Au fur et à mesure que nous avons avancé dans les conceptions et les discussions communautaires, il est devenu clair qu'il devait y avoir une page centrale pour accéder à toutes les options de configuration communautaire. Cette page centrale servira de tableau de bord de la configuration communautaire et permettra un accès et une navigation facile à chaque formulaire de la Configuration communautaire. Les formulaire individuel de fonctionnalité est là où les modifications des paramètres seront enregistrées. Le formulaire permettra également un accès facile à l'historique de modification de la configuration, aux pages d'aide et aux métriques connexes.
-
Aspect du tableau de bord de la Configuration communautaire
-
Aspect du formulaire de la Configuration communautaire pour les caractéristiques du mentorat
Mesures et instrumentation
Les modifications de la configuration communautaire sont publiquement enregistrées sur la page d'historique associée, de sorte que le besoin d'outils est assez minime. Néanmoins nous aimerions pouvoir répondre aux questions suivantes :
- Combien de fois le tableau de bord de la Configuration communautaire (Special:CommunityConfiguration) est-il visité ?
- Combien de fois un formulaire de modification de la Configuration communautaire est-il visité ?
- Combien de fois une modification de la configuration communautaire est-elle menée à terme ?
Les détails des mesures et de l'instrumentation sont disponibles dans T366224.