Extension pour éviter les conflits d'édition (Wikimedica:Tâches/Liste/291)

De Wikimedica
Sauter à la navigation Sauter à la recherche
Extension pour éviter les conflits d'édition (À faire)  Modifier cette tâche Aide
Type Amélioration
Créateur Antoine Mercier-Linteau
Responsable(s) Antoine Mercier-Linteau, Mattéo Delabre
État À faire
Date de création 2019/11/12
Échéance aucune
Priorité Normale
Projet(s)
<noinclude>
</noinclude>

Les conflits d'édition sont un facteur de découragement majeur pour les utilisateurs, car très difficile à gérer pour les novices.

Il existe probablement des extensions MediaWiki permettant à un utilisateur d'être informé lorsqu'une page est en cours d'édition par un autre utilisateur.

Dans la négative, une petite extension pourrait être crée afin de:

  1. informer un utilisateur enregistré lorsqu'une page est en cours d'édition
  2. informer un utilisateur enregistré lorsqu'il tente d'éditer une page qui est en cours d'édition
  3. lui permettre de recevoir une notification lorsque la page a été sauvegardée
  4. lui permettre d'ignorer tout les avertissements et de quand même engendrer un conflit d'édition

Cette extension devra faire un usage minimal de la base de donnée afin de faciliter son déploiement et d'éviter trop de transactions de réplication dans les cas où il existe des configurations master/slave.

Au niveau architecture front-end

  • détection lorsqu'une page est mise en mode édition;
  • envoi périodique de messages à un endpoint d'API pour mettre à jour le statut d'édition;
  • détection lorsqu'une page est sauvegardée;
  • affichage d'un marqueur lorsqu'une page visitée est en cours d'édition;
  • affichage d'un avertissement lorsqu'une page est mise en mode édition alors qu'elle est en cours d'édition par un autre utilisateur.

Au niveau back-end:

  • réception des requêtes d'API et mise à jour d'une base de données pour garder en mémoire quelles pages sont en cours d'édition et par qui;
  • la DB pourrait simplement être un fichier JSON avec un mutex.

Créer une sous-tâche

Aucune sous-tâche à afficher.

Aucune sous-tâche assignée à cette tâche.
Sous-tâches
- Type Priorité Titre Responsable(s) État Création
Voir les sous-tâches terminées...

1 Discussion[modifier | w]

2 Accès Savoir[modifier | w]

À remplir par Wikimedica
Titre
 Extension pour éviter les conflits d'édition
Organisation Wikimedica
Contact
 Michaël St-Gelais
Contact secondaire
 Antoine Mercier-Linteau
Problématique identifiée
 Wikimedica est une plateforme collaborative de type wiki où les utilisateurs peuvent modifier et bonifier les pages simultanément. Actuellement, MediaWiki ne permet pas d'alerter l'éditeur lorsque la page est déjà en cours de modification par un autre éditeur. Les conflits d'édition sont un facteur de découragement majeur pour les utilisateurs, car très difficile à gérer pour les novices.
Description du projet
 Nous aurions besoin d'une extension afin de :
  • informer un utilisateur enregistré lorsqu'une page est en cours d'édition
  • informer un utilisateur enregistré lorsqu'il tente d'éditer une page qui est en cours d'édition
  • lui permettre de recevoir une notification lorsque la page a été sauvegardée
  • lui permettre d'ignorer tout les avertissements et de quand même engendrer un conflit d'édition

Cette extension devra faire un usage minimal de la base de donnée afin de faciliter son déploiement et d'éviter trop de transactions de réplication dans les cas où il existe des configurations master/slave.

Au niveau architecture front-end

  • détection lorsqu'une page est mise en mode édition;
  • envoi périodique de messages à un endpoint d'API pour mettre à jour le statut d'édition;
  • détection lorsqu'une page est sauvegardée;
  • affichage d'un marqueur lorsqu'une page visitée est en cours d'édition;
  • affichage d'un avertissement lorsqu'une page est mise en mode édition alors qu'elle est en cours d'édition par un autre utilisateur.

Au niveau back-end:

  • réception des requêtes d'API et mise à jour d'une base de données pour garder en mémoire quelles pages sont en cours d'édition et par qui;
  • la DB pourrait simplement être un fichier JSON avec un mutex.
Utilité et bénéfice pour l’organisation

  • Augmenter la facilité et la fluidité d'utilisation de notre plateforme pour les usagers.
  • Augmenter la confiance des éditeurs lorsqu'ils débutent une modification.
  • Éviter les conflits d'édition et la lourdeur qui en découle.
Attentes envers les étudiants
  • La communication doit se faire obligatoirement sur la plateforme pour garder les traces de ce travail et être en mesure de retracer la démarche intellectuelle derrière chaque amélioration.
  • La version finale doit tenir compte des modifications suggérées par le professeur qui supervise le travail.
  • Une communication fréquente et une collaboration constante entre Wikimedica et les étudiants sont nécessaires.
  • L'ensemble du travail de l'étudiant sera sous licence libre accès
  • Le fruit du travail de l'étudiant sera partagé à la communauté MediaWiki
Contrainte de temps
 La version finale de l'extension devra être terminée à la fin de la session choisie.
À remplir par Accès Savoirs
Discipline

Champs d'intérêt

Sommaire


3 Estimation des coûts[modifier | w]

Phase Étapes d'intervention Nombre d'heures Taux horaire

($/h)

Coût ($)
Analyse
  • Recensement des extensions existantes pour éviter les conflits d'édition
  • Analyse des besoins pour développer/adapter cette extension à l'utilisation sur la plateforme
2 50 100
Développement
  • Création d'une extension MediaWiki
  • Création d'un API pour la prévention des conflits d'édition
  • Intégration Javascript à l'interface de la plateforme (Éditeur visuel et wikicode)
20 50 1000
Test
  • Test sur plateforme
4 50 200
Déploiement
  • Déploiement sur le wiki
  • Création d'une page d'aide pour expliquer le fonctionnement de l'outil
  • Campagne de publicité
2 50 100
Total 40 50 1400