Grants:IEG/Wikiscan multi-wiki/fr
This project is funded by an Individual Engagement Grant
Idée du projet
editQuel est le problème que vous tentez de résoudre ?
editFournir des statistiques mises à jour quotidiennement pour les wikis Wikimedia, permettre de connaître l'activité actuelle et passée du wiki, ses principaux contributeurs selon plusieurs métriques, avoir des statistiques détaillées pour chaque utilisateur et fournir un outil pour évaluer les performances de projets soutenant la participation de nouveaux contributeurs.
Quelle est votre solution ?
editTransformer et améliorer le site http://wikiscan.org qui réalise déjà la plupart de ces statistiques pour Wikipédia en français depuis 2011 en un site multi-wiki et multi-langues.
Le site calcule des statistiques par date et par utilisateur, il permet par exemple de savoir :
- Quels sont les pages et les utilisateurs les plus actifs sur le wiki pour les dernières 24 heures.
- Quels sont les pages et les utilisateurs les plus actifs pour chaque jour et chaque mois depuis la création du wiki.
- Quels sont les utilisateurs qui ont le plus contribué depuis la création du wiki selon de nombreuses statistiques comme le total de modifications, d'articles créés, le nombre de jours et de mois de présence, le nombre total d'actions d'administrateur, le nombre de suppressions, etc.
- D'afficher des statistiques détaillées sur un compte utilisateur en quelques secondes même s'il totalise plusieurs millions de modifications.
- De fournir des métriques pour des projets qui soutiennent la participation de nouveaux volontaires.
Présentation de Wikiscan
editLe but du site Wikiscan est de regrouper de nombreuses statistiques utiles sur les projets Wikimedia. Il existe plusieurs statistiques déjà disponibles mais elles sont souvent éparpillées sur plusieurs sites et pages wiki, chaque source est mise à jour selon son propre rythme et pas toujours avec les mêmes données sources. Certaines utilisent les dumps avec des délais entre un et plusieurs mois entre les mises à jour (par exemple wikistats), d'autres utilisent les données internes de Mediawiki qui ne sont qu'approximatives (par exemple List of Wikipedians by number of edits). Wikiscan permet de centraliser de nombreuses statistiques au même endroit en suivant la même base commune et le même rythme de mise à jour.
Wikiscan calcule toutes les statistiques à partir des données journalières, cela permet de faire des mises à jour régulièrement en recalculant seulement le jour actuel, puis de recombiner les données pour le mois, l'année, le total ainsi que pour chaque utilisateur. Des recalcules complets sont aussi périodiquement effectués pour prendre en compte les pages supprimées et restaurées ou ajouter de nouvelles statistiques. Ce système flexible permet d'avoir des statistiques pré-calculées qui s'affichent rapidement et qui sont régulièrement mises à jour avec un minimum de calcul.
Statistiques par date
editCes statistiques sont disponibles pour les dernières 24 heures et pour chaque jour et chaque mois depuis la création du wiki :
- Statistiques par page qui affichent les pages les plus actives, le nombre de modifications, le nombre d'utilisateurs ayant modifié la page, le nombre de révocations, la différence totale de taille sur la période (diff) et la somme des diff en valeurs absolues. Il est possible de trier et plusieurs filtres sont possibles en fonction des espaces de noms. Exemples : avril 2016, 2 mars 2016, janvier 2010.
- Statistiques par utilisateur : nombre de modifications, d'actions journalisées (renommages, blocage, etc.), de révocations, vitesse moyenne de contribution, diff totale, diff absolue totale et le temps de présence. Il est possible de filtrer pour afficher seulement les utilisateurs, les IP, les bots ou les admins et de trier selon certaines colonnes. Exemple : mars 2016.
- Statistiques générales sur la période comme le nombre d'éditions au total et pour chaque espace de noms, le nombre d'utilisateurs, d'IP, de créations de pages et d'articles, le temps passé cumulé, le total pour chaque action journalisée, etc. Exemple : mars 2016.
Les statistiques sur les dernières 24 heures [1] sont mises à jour plusieurs fois par heure, elles permettent de voir rapidement où se concentre actuellement l'activité des contributeurs, quelles sont les pages les plus actives, les principales guerres d'éditions, etc. Le tri par défaut combine plusieurs données pour obtenir un meilleur indicateur, sont notamment pris en compte le nombre d'utilisateurs et de modifications mais aussi le diff et le volume total en valeurs absolue, ainsi une guerre d'édition portant sur l'ajout et le retrait de beaucoup de contenu sera plus mise en avant qu'une petite guerre d'édition.
Une autre page appelée grille utilise les mêmes données mais en affichant sur la même page plusieurs blocs avec des filtres différents prédéfinis : selon l'espace de noms, le nom de la page ou selon un tri particulier. Cela permet de voir dans des blocs séparés quelles sont les pages les plus actives dans divers domaines : articles, nouveaux articles, discussions, meta, débats d'admissibilité ou selon un tri pour afficher les articles les plus vus actuellement.
Les statistiques sur les pages vues permettent de prendre en compte le volume des visiteurs dans les pages les plus actives et de mieux anticiper les tendances dans l'actualité. Cette fonction est actuellement désactivée depuis un changement de serveur et dans l'attente d'une refonte. On peut voir un exemple sur archive.org lorsqu'elle était active pour janvier 2015 (les pages vues sont dans la première colonne).
Améliorations prévues :
- Réintégrer les pages vues avec une refonte de l'ancien système qui serait trop gourmand en multi-wiki. Usage des nouvelles statistiques qui excluent les robots.
- Améliorer l'affichage des articles les plus actifs sur les dernières 24 heures, par exemple afficher les dix premiers d'une manière plus détaillée avec des graphiques individuels pour chaque page montrant l'activité récente.
Statistiques par utilisateur
editUsers' edits |
Users tested |
Wikiscan average |
Xtools-ec average |
---|---|---|---|
500+ | 10 | 0.5 s | 5.2 s |
5,000+ | 10 | 0.6 s | 8.2 s |
10,000+ | 10 | 0.6 s | 9.7 s |
50,000+ | 10 | 0.7 s | 38 s |
100,000+ | 10 | 0.6 s | 51 s |
250,000+ | 10 | 0.7 s | 93 s |
500,000+ | 8 | 0.8 s | 220 s |
1,000,000+ | 3 | 0.6 s | 256 s |
1,500,000+ | 3 | 0.8 s | 261 s |
2,000,000+ | 1 | 0.7 s | 467 s |
Wikiscan est couramment utilisé comme un compteur d'édition, c'est la partie la plus utilisée par les visiteurs. L'intérêt par rapport à d'autres compteurs est notamment d'afficher rapidement la page même si l'utilisateur totalise plusieurs millions de modifications, alors que d'autres outils peuvent mettre plusieurs minutes à se charger ou échouer. Une trentaine de statistiques sont disponibles sur les éditions et les actions journalisées. Le but est de donner rapidement une image des contributions d'un utilisateur avec son historique et de fournir d'autres indicateurs intéressants en plus du nombre d'éditions qui peut fortement varier selon le mode de contribution, par exemple en effectuant de nombreuses petites modifications avec des outils semi-automatisés.
Exemples : utilisateur avec 800 k, robot avec environ 2 millions d'éditions, robot avec 2,5 millions d'éditions.
Quelques exemples de statistiques supplémentaires intéressantes :
- Durée totale estimée (temps de présence) : représente l'estimation du temps passé à faire des modifications et des actions journalisées sur le site, par exemple un utilisateur qui fait 1 modification toutes les 5 minutes pendant 30 minutes aura la même durée de présence qu'un utilisateur qui fait 1 modification par minute sur la même période, alors que son nombre d'édition sera 5 fois moindre. Cet indicateur pourrait être plus fiable que le nombre brut d'éditions pour mesurer l'implication d'un utilisateur. Il a notamment été utilisé dans une thèse professionnelle sur la valorisation du bénévolat sur Wikipédia [2].
- Jours participés / Mois participés : le nombre de jours distincts et de mois avec au moins une action. Cela permet de voir les utilisateurs qui contribuent dans la durée et qui reviennent régulièrement. Ces indicateurs sont plus fiables que l'ancienneté calculée selon la date de création du compte car certains comptes peuvent rester inactifs pendant de longues périodes. Ces statistiques permettent de faire des moyennes avec d'autres valeurs comme le temps moyen et le nombre de modification par jour participé.
- Rééditions : le nombre d'éditions qui sont faites sur la même page à la suite, certains utilisateurs utilisent beaucoup la prévisualisation pour envoyer toutes leurs modifications en une seule fois alors que d'autres peuvent rééditer de nombreuses fois la même page dans un court laps de temps, ce qui a tendance à gonfler le nombre d'éditions.
- Éditions à la chaîne : essaye de détecter et compter des modifications rapides sur de nombreux articles, par exemple pour ceux qui utilisent des scripts avec leur compte.
Une trentaine de statistiques sont calculées pour chaque utilisateur, elles sont disponibles pour le total et aussi pour chaque année et chaque mois depuis la création du compte ce qui permet de voir l'évolution de chaque valeur. Il est possible d'afficher des pourcentages, cela permet de voir par exemple l'évolution par mois ou par an du taux d'édition dans les articles, les discussions, l'espace meta, etc.
Tableau général des utilisateurs
editComme l'ensemble des statistiques utilisateurs sont pré-calculées, elles peuvent être affichées dans un tableau récapitulatif [3], cela permet de voir rapidement ceux qui ont le plus contribués sur le wiki. Il est possible de trier selon la plupart de la trentaine des statistiques disponibles, ce qui permet par exemple de savoir ceux qui ont passé le plus de temps [4], le plus de jours différents [5], fait le plus de créations d'articles [6], de blocages [7], de protections [8], de modifications de filtres [9], etc.
Améliorations prévues :
- Permettre d'afficher le même tableau pour chaque année et chaque mois depuis la création du wiki.
- Ajouter des graphiques montrant l'évolution des utilisateurs actifs en fonction de leur nombre de mois de participation.
Catégorie ou liste d'utilisateurs
editLe même tableau des utilisateurs peut afficher seulement les utilisateurs d'une catégorie Mediawiki ou d'une liste fournie. Cette fonction est utilisée par des projets qui soutiennent la participation de nouveaux contributeurs pour mesurer leurs résultats. Par exemple le Projet Afripédia soutenu par Wikimedia France encourage la participation dans l'Afrique francophone, les participants utilisent une boite utilisateur qui ajoute une catégorie, cela permet d'avoir toutes les statistiques des participants sur une page.
Exemples : Participants au projet Afripédia, Formation Afripédia Madagascar.
Il est ensuite possible de trier selon la statistique de son choix, par exemple la durée totale de participation qui permet de voir que 51 utilisateurs du projet Afripédia ont contribué pendant 2 heures ou plus [10], que 47 utilisateurs ont contribué au moins sur 5 jours différents [11] et 37 utilisateur sur au moins 3 mois [12], que 65 utilisateurs ont ajoutés globalement plus de 1 ko sur les articles [13], etc.
Amélioration prévue :
- Permettre d'indiquer une page wiki qui contient une liste d'utilisateurs à la place de la catégorie, avec des options pour la méthode d'extraction des utilisateurs (liens Utilisateur:, modèle {{u}}...).
Autres améliorations
editLa plus importante évolution sera le passage au support multi-wiki qui devra être suffisamment optimisé pour permettre les mise à jour en permanence des statistiques de plusieurs centaines de wiki au lieu d'un seul. Un système de « workers » permettra des mises à jour en parallèle de plusieurs wiki selon leur taille sans surcharger le serveur. Une page de maintenance sera développée pour suivre l'état des mises à jour de l'ensemble des wiki.
Une nouvelle page d'accueil globale sera réalisée, elle présentera l'ensemble des wiki supportés avec des filtres par famille (Wikipédia, Wikisource, etc.). Une nouvelle page d'accueil par wiki affichera des statistiques globales récentes et des graphiques montrant l'évolution historique du wiki.
L'internationalisation permettra de choisir la langue de l'interface, une version anglaise et française seront initialement disponibles. Il sera possible d'ajouter d'autres langues en traduisant un fichier.
Le projet sera l'occasion de revoir le code qui a surtout été développé par petites touches selon le temps disponible et de documenter les statistiques calculées. Il y aura des restructurations au niveau des calculs des statistiques et l'ajout de quelques nouvelles. Des améliorations des graphiques sont prévues, peut-être en utilisant SVG et Javascript pour remplacer les images actuelles.
Objectifs du projet
editPrincipaux objectifs :
- Transformer le site qui ne supporte actuellement que Wikipédia en français en un site multi-wiki capable de supporter en parallèle de nombreux autres wikis.
- Mettre en place une interface multi-langues et réaliser une version en anglais pour faciliter les traductions dans d'autres langues.
- Améliorer et optimiser le site, notamment ajouter des statistiques globales par wiki.
Le but actuel du multi-wiki est de supporter au minimum tous les wikis Wikimedia publics qui totalisent plus de 100,000 modifications, cela représente actuellement 336 wikis.
Le code source sera disponible sous licence libre, il sera techniquement possible de le faire fonctionner avec la base de données de n'importe quel wiki utilisant une version récente de Mediawiki.
Feuille de route
editActivités
editPrincipales étapes du projet :
1) Transformation en multi-wiki :
- Permettre au site de fonctionner directement avec la base de données du Wikimedia Labs plutôt qu'une réplication locale. Cela permettra au site de fonctionner facilement avec n'importe quel wiki Wikimedia.
- Transformer le site en multi-wiki avec un sous-domaine et une base de données spécifique pour chaque wiki.
- Mettre en place les outils pour les mises à jour quotidiennes des statistiques de chaque wikis (workers, page de suivi, configuration) et réaliser des optimisations spécifiques pour les petits wikis.
- Créer une nouvelle page d'accueil globale et pour chaque wiki qui afficheront des statistiques globales.
2) Internationalisation :
- Transformer l'interface pour un support multi-langues.
- Réaliser la traduction de l'interface en anglais.
3) Point communautaire (après 3 mois maximum) :
- À ce stade le site de chaque wiki devrait être actif, le site sera annoncé sur plusieurs gros projets pour avoir les premiers retours.
4) Améliorations et optimisations :
- Afficher le classement global des utilisateurs pour chaque année et chaque mois
- Ajout des pages vues sur les statistiques par date
- Permettre d'utiliser une liste d'utilisateurs contenue dans une page wiki à la place d'une catégorie
- Ajout de nouveaux graphiques sur l'évolution des utilisateurs actifs en fonction de leur nombre de mois de participation
- Améliorer l'affichage des articles les plus actifs sur les dernières 24 heures
- Documentation des différentes statistiques calculées par le site
- Améliorations de l'interface et des graphiques
- Restructurations et ajouts de statistiques pour les statistiques globales et l'historique de wiki
- Optimisations et corrections diverses
Budget
editLe budget servira à payer les heures de programmation sur le projet en tant que développeur indépendant, rien n'est demandé pour la partie gestion de projet/administratif. Selon un journal en ligne [14], le tarif moyen d'un développeur PHP freelance en France est de 327 euros par jour, soit 40,9 euros brut de l'heure. Comme il s'agit de plusieurs semaines de travail, je propose un tarif de 30 euros brut de l'heure (cela inclut les charges professionnelles payables en France).
Description | Heures | Total (30 EUR/h) |
---|---|---|
Transformation du site en multi-wiki : | ||
Permettre le calcul des statistiques depuis la base de données distante du Wikimedia Labs et réaliser les optimisations nécessaires. | 15 | 450 |
Transformer le site en multi-wiki avec un sous-domaine et une base de données pour chaque wiki. | 18 | 540 |
Mettre en place un système de workers pour les mises à jour des statistiques de chaque wiki. | 14 | 420 |
Créer une nouvelle page de suivi pour surveiller le statut et l'état des mises à jour des workers de l'ensemble des wikis. | 16 | 480 |
Créer une nouvelle page d'accueil globale affichant la liste des wikis disponibles avec quelques statistiques générales et graphiques pour chaque wiki. | 20 | 600 |
Nouvelle page d'accueil par wiki affichant des statistiques globales mises à jour régulièrement et un historique. | 16 | 480 |
Adapter les statistiques par date aux petits wiki qui ont trop peu de modifs par jour (afficher seulement les mois et ajouter les années, permettre plus de 24h pour les modifs récentes) | 6 | 180 |
Total | 105 h | 3150 € |
Internationalisation et documentation : | ||
Transformer l'interface en multi-langues avec regroupement des textes dans un fichier qui pourra être traduit. | 18 | 540 |
Réaliser la traduction de l'interface en anglais. | 8 | 240 |
Documentation en français des différentes statistiques calculées par le site avec possibilité d'ajouter d'autres langues en traduisant un fichier | 8 | 240 |
Total | 34 h | 1020 € |
Améliorations et optimisations : | ||
Afficher le classement global des utilisateurs pour chaque année et chaque mois | 6 | 180 |
Ajout des pages vues sur les statistiques par date, le système doit être très optimisé pour fonctionner avec plusieurs centaines de wiki | 20 | 600 |
Permettre d'utiliser une liste d'utilisateurs contenue dans une page wiki à la place d'une catégorie d'utilisateurs | 2 | 60 |
Ajout de nouveaux graphiques sur l'évolution des utilisateurs actifs en fonction de leur nombre de mois de participation | 10 | 300 |
Améliorer l'affichage des articles les plus actifs sur les dernières 24 heures | 12 | 360 |
Améliorations de l'interface et des graphiques | 8 | 240 |
Restructurations et ajouts de statistiques pour les statistiques globales et l'historique de wiki | 6 | 180 |
Optimisations et corrections diverses, réécriture de certaines parties du code | 20 | 600 |
Total | 84 h | 2520 € |
Total projet | 223 h | 6690 € |
Total projet :
- 6690,00 EUR
- 7632,62 USD (pour 1 EUR = 1,1409 USD au 8 avril 2016)
Implication de la communauté
editLe site fonctionne depuis 2011 pour Wikipédia en français où il est utilisé couramment, il y a déjà eu plusieurs retours de cette communauté.
Je compte solliciter les projets francophones autres que Wikipédia (Wiktionary, Wikisource, Wikibooks, Wikiversity, etc.) afin de mieux adapter Wikiscan aux particularités de ces projets, notamment selon leurs usages des espaces de noms.
Lorsque les sites des wiki commenceront à être opérationnels et que l'interface sera disponible en anglais (3 mois max après le début), je contacterai les plus gros wiki dans les autres langues pour avoir des retours. J'ouvrirai probablement une page sur meta pour centraliser les discussions sur Wikiscan.
Viabilité à long terme
editLe site est prévu pour fonctionner de manière autonome au quotidien, tous les processus de mises à jour des statistiques sont automatiques. Je continuerai d'assurer la maintenance du serveur et les corrections d'éventuels bugs comme je le fais pour le site en français depuis 2011.
Les wikis Wikimedia non encore inclus qui passeront la limite des 100,000 modifications seront automatiquement ajoutés et le calcul de leurs statistiques sera automatiquement activé.
Le serveur dédié qui héberge le site est déjà financé, il appartient à l'association Wikimedia France, ce qui permet de garantir une bonne pérennité pour le projet.
De nombreuses évolutions et améliorations du site sont envisageables : le support de tous les petits wikis, l'ajout de nouvelles statistiques (notamment les contributions supprimées), faire des statistiques globales pour tous les utilisateurs en additionnant l'ensemble des wiki, permettre de faire des graphiques personnalisés avec les nombreuses statistiques disponibles, d'améliorer et personnaliser l'interface (par exemple choisir soi-même les filtres des blocs affichés dans la page « grille »), améliorer les statistiques à partir d'une liste ou catégorie d'utilisateurs (notamment calculer le total et une moyenne pour l'ensemble de ces utilisateurs), d'exporter les nombreuses données disponibles dans divers formats (CSV, JSON, ...), le support de Translatewiki pour les traductions, développer une API pour que des outils externes puissent facilement utiliser les données (par exemple des graphique intégrées dans des pages wiki avec l'extension Graph), éventuellement faire une extension dédiée MediaWiki...
Mesure du succès du projet
editLes wikis publiques Wikimedia totalisant au moins 100,000 modifications (actuellement 336 wikis) auront chacun leur propre site xxx.wikiscan.org fonctionnel avec les statistiques prévues dans #Présentation de Wikiscan et les nouvelles améliorations développées.
Les sous-domaines Wikiscan des 336 wiki concernées actuellement seraient :
Wikipedia (185) : en, de, fr, ru, it, pt, es, ja, zh, nl, ar, pl, vi, fa, sv, id, tr, uk, fi, hu, he, ro, ca, no, ko, sr, sh, cs, da, th, hr, bg, ms, el, eo, simple, ceb, lt, hi, sl, war, az, sk, bs, mk, ka, hy, gl, et, bn, kk, eu, ml, lv, ta, nn, sq, be, ur, te, la, mr, uz, cy, tl, af, zh-yue, is, zh-min-nan, be-x-old, br, lb, tt, oc, jv, fy, ce, arz, an, als, vo, kn, lmo, nds, sco, mg, sw, pms, ast, min, si, new, ga, mn, ne, bar, my, tg, ckb, ba, ku, scn, gu, ky, cv, ia, io, yi, sa, pa, ht, yo, vec, zh-classical, am, pnb, qu, su, bpy, nap, li, os, gd, wa, fo, sah, ang, bat-smg, ksh, or, gan, km, hsb, nah, wuu, as, ilo, diq, hif, ps, nds-nl, pam, vls, mzn, map-bms, bh, se, mt, so, bo, gv, bcl, tk, szl, co, bug, dv, mhr, sc, roa-tara, frr, nv, crh, ug, lad, mi, fiu-vro, csb, xmf, dsb, rm, fur, lij, kv, stq, kw, nrm, frp, ext, ie, krc, ln, jbo, nov, gom.
Wiktionary (74) : en, fr, ru, de, es, zh, mg, pl, it, pt, nl, sv, el, tr, fi, lt, ko, sh, ja, ta, ku, hu, vi, io, id, ca, ro, no, bg, cs, sa, ar, fa, et, ml, chr, th, my, te, li, hi, kn, hy, uk, simple, he, gl, or, lo, sr, eu, uz, is, da, eo, az, hr, wa, oc, br, cy, sq, mn, scn, af, la, tl, fj, ast, vo, zh-min-nan, sl, fy, sw.
Wikisource (21) : (multilingue) , en, fr, ru, de, it, pl, es, zh, he, ar, pt, bn, ta, sv, cs, ml, ko, sl, no, te.
Wikinews (12) : en, sr, fr, it, ru, es, de, pl, pt, fa, ja, tr.
Wikibooks (11) : en, de, fr, pt, es, it, hu, nl, pl, ru, he.
Wikiquote (10) : en, it, pl, ru, es, de, fr, pt, tr, he.
Wikivoyage (9) : en, de, it, fr, ru, es, nl, he, pt.
Wikiversity (5) : en, de, fr, ru, it.
Others (9) : commons, wikidata, meta, mediawiki, species, incubator, test, test2, outreach.
Objectif de visites : atteindre au moins 300 utilisateurs uniques par mois sur l'ensemble des nouveaux sous-domaines (excluant donc fr.wikiscan.org et le futur portail wikiscan.org). L'outil de mesure sera Google Analytics.
Participez
editParticipants
edit- Akeron : développeur informatique, je possède toutes les connaissances techniques nécessaires pour réaliser entièrement ce projet, je connais très bien Wikiscan pour l'avoir entièrement conçu, contributeur Wikimedia régulier depuis 2006, principalement sur Wikipédia en français.
Informations aux communautés
editL'idée de ce projet a été présentée sur certains projets francophones actifs et sur Wikipédia en anglais : Wiktionary, Wikisource, Wikiversity, English Wikipedia (idea lab).
Soutiens
editDo you think this project should be selected for an Individual Engagement Grant? Please add your name and rationale for endorsing this project in the list below. (Other constructive feedback is welcome on the talk page of this proposal).
- Voir la section Endorsements de la page principale en anglais.