« Gestion:Tâches/Liste/291 » : différence entre les versions
(Le fruit du travail de l'étudiant sera partagé à la communauté MediaWiki) |
Aucun résumé des modifications |
||
(2 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 2 : | Ligne 2 : | ||
|title=Extension pour éviter les conflits d'édition | |title=Extension pour éviter les conflits d'édition | ||
|type=2 | |type=2 | ||
|status= | |status=2 | ||
|priority=2 | |priority=2 | ||
|projets=Project:Développement, Wikimedica:Projets/Accès Savoirs | |projets=Project:Développement, Wikimedica:Projets/Accès Savoirs | ||
|creator=Utilisateur:Antoine Mercier-Linteau | |creator=Utilisateur:Antoine Mercier-Linteau | ||
|assignees=Utilisateur:Antoine Mercier-Linteau,Utilisateur: | |assignees=Utilisateur:Antoine Mercier-Linteau, Utilisateur:Charles-Éric Noël Laflamme | ||
|created=2019 | |created=2019-11-12 | ||
|description=Les conflits d'édition sont un facteur de découragement majeur pour les utilisateurs, car très difficile à gérer pour les novices. | |description=Les conflits d'édition sont un facteur de découragement majeur pour les utilisateurs, car très difficile à gérer pour les novices. | ||
Ligne 13 : | Ligne 13 : | ||
Dans la négative, une petite extension pourrait être crée afin de: | Dans la négative, une petite extension pourrait être crée afin de: | ||
# informer un utilisateur enregistré lorsqu'une page est en cours d'édition | #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 | #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 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 | #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. | 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 | Au niveau architecture front-end | ||
* détection lorsqu'une page est mise en mode édition; | *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; | *envoi périodique de messages à un endpoint d'API pour mettre à jour le statut d'édition; | ||
* détection lorsqu'une page est sauvegardée; | *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 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. | *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: | 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; | *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. | *la DB pourrait simplement être un fichier JSON avec un mutex. | ||
}} | }} | ||
== Discussion == | |||
{{Afficher_page_de_discussion}} | |||
== Accès Savoir == | == Accès Savoir == | ||
{| class="wikitable" | {| class="wikitable" | ||
Ligne 96 : | Ligne 97 : | ||
|} | |} | ||
== | == Estimation des coûts == | ||
{ | {| class="wikitable" | ||
!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 | |||
|- | |||
| colspan="2" |'''Total''' | |||
|'''40''' | |||
|'''50''' | |||
|'''1400''' | |||
|} |
Dernière version du 20 mai 2022 à 11:40
Type | Amélioration |
---|---|
Création | Antoine Mercier-Linteau |
Responsable(s) | Antoine Mercier-Linteau, Charles-Éric Noël Laflamme |
État | En cours |
Date de création | 2019-11-12 |
Échéance | aucune |
Priorité | Normale |
Projet(s) |
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:
- 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.
Discussion
Accès Savoir
À 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 :
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
Au niveau back-end:
|
Utilité et bénéfice pour l’organisation |
|
Attentes envers les étudiants |
|
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 |
Estimation des coûts
Phase | Étapes d'intervention | Nombre d'heures | Taux horaire
($/h) |
Coût ($) |
---|---|---|---|---|
Analyse |
|
2 | 50 | 100 |
Développement |
|
20 | 50 | 1000 |
Test |
|
4 | 50 | 200 |
Déploiement |
|
2 | 50 | 100 |
Total | 40 | 50 | 1400 |