Projet:Scripts et gadgets/Maintenance 2018 des gadgets
Cette page permet de regrouper une série d'actions à effectuer dans le but d'améliorer la qualité et la maintenabilité des scripts utilisateurs et des gadgets disponibles sur frWiki, notamment en réduisant la dispersion du code.
Pages d'aide
[modifier | modifier le code]0 % accompli (estimation) | |
|
Afin d'éviter que ne se reproduisent les problèmes d'avril 2017, conséquence de la dépréciation de fonctions très utilisées, il est pertinent de rédiger une page rappelant de manière simple et accessible les règles et bonnes pratiques en JavaScript.
Bonnes pratiques pour les utilisateurs
[modifier | modifier le code]Les premiers impactés, et donc les premiers à sensibiliser, sont les utilisateurs finaux, utilisateurs n'ayant le plus souvent aucune compétence en Javascript. Il faut donc leur expliquer les bonnes pratiques quant au contenu de leurs pages common.js, vector.js ou monobook.js (spoiler : pas de code isolé, seulement des imports).
Et réécrire Aide:Personnaliser l'interface
Documentation pour les nouveaux développeurs
[modifier | modifier le code]Débuter dans le développement de scripts ou de gadgets dans l'environnement MediaWiki peut s'avérer assez complexe, faute de trouver la documentation adéquate (il y a plein de trucs qui existent, mais souvent difficiles à trouver par soi-même). Ainsi, énormément de scripts font la même chose, en moins bien, que des librairies directement incluses dans le code de base du logiciel de MediaWiki.
De ce fait, un guide complet du parfait débutant en développement de scripts, guidant les novices vers les bonnes ressources, et les aidant à faire leurs premiers pas dans ce monde hostile, permettrait :
- d'améliorer le code présent dans son ensemble ;
- d’attirer de nouveaux développeurs.
Liste des pages du projet JS à actualiser
[modifier | modifier le code]- Projet:JavaScript
- Projet:JavaScript/Aide personnalisation
- Projet:JavaScript/Aide Ajax
- Projet:JavaScript/Aide API
- Projet:JavaScript/Développeurs
- Projet:JavaScript/Fonctions globales de MediaWiki
- Projet:JavaScript/Outils
- Projet:JavaScript/Aide WikiEditor — À supprimer en faveur de mw:Extension:WikiEditor/Toolbar customization, une fois celui-ci traduit
- Projet:JavaScript/Liste des fonctions disponibles
- Projet:JavaScript/Aide API/Exemple complexe
- Projet:JavaScript/Aide API/Exemple simple (1)
- Projet:JavaScript/Aide API/Exemple simple (2)
- Projet:JavaScript/Développement/Autres projets.js
- Projet:JavaScript/Développement/MonScript.js
- Projet:JavaScript/Développement/ListeDesScripts.js
Editnotice
[modifier | modifier le code]100 % accompli (estimation) | |
|
Directement dans l'editenotice des pages common.js, vector.js ou monobook.js, avertir les utilisateurs des implications que peut avoir leur édition, les responsabiliser quant à leur contenu, et les renvoyer vers les pages rappelant les bonnes pratiques, permettraient de sensibiliser bien plus de personnes, potentiellement tous les contributeurs adeptes de ces scripts.
Retrait de vieux gadgets
[modifier | modifier le code]100 % accompli (estimation) | |
|
Un gadget, qu'il soit utilisé ou non, représente une charge en terme de maintenance. Pour faciliter celle-ci, une piste d'action est le retrait de vieux gadgets, ceux créés il y a de nombreuses années, qui n'ont plus de mainteneur actif, et que le contexte actuel rend obsolètes (fonctionnalité(s) directement intégrée(s) au logiciel MediaWiki, changement des pratiques, etc.).
- ➜ Étape 1 : identification.
- interProjets Intégré à MediaWiki
- verifHomon Doublon de HomonymiesEnCouleur
- TriInterWiki Remplacé par l'extension Universal Language Selector
- WikiMiniAtlas Remplacé par l'extension Kartographer
- WikiOpenStreetMap Remplacé par l'extension Kartographer
- Quick Preview Dans les paramètres de base de MediaWiki maintenant
- newCollapsible Alternative obsolète au "collapsible" natif de MediaWiki
À discuter
- VectorClassic
- MiseEnPageEspaceAide À intégrer plus profondément ?
- DeleteBot Utilité à vérifier
- Étape 2 : avertissement sur le Bistro.
- Étape 3 : retrait des gadgets.
Fait — 0x010C ~discuter~
Centralisation
[modifier | modifier le code]0 % accompli (estimation) | |
|
Centraliser sur meta ou mediawiki les gadgets qui sont utilisés sur plusieurs wikis.
Réécriture du code
[modifier | modifier le code]41,6 % accompli (estimation) | ||
|
Recoder les vieux gadgets pour qu'ils respectent les bonnes pratiques actuelles, et qu'ils fonctionnent plus efficacement.
AffMasLiens [ResourceLoader] | AffMasLiens.js : fonctionne (2017-10-21), utilise mw.loader, utilise jQuery, utilise OOjs.ui, i18n à améliorer
AncreTitres [ResourceLoader|dependencies=mediawiki.util,user] | AncreTitres.js : fonctionne (2017-10-21), utilise mw.loader, utilise jQuery, i18n à améliorer
dictionaryLookupHover [ResourceLoader] | dictionaryLookupHover.js : ne semble pas fonctionner (2017-10-21), manipulation d’events et DOM à la main
EbauchesOff [ResourceLoader] | EbauchesOff.css
LabelsOff [ResourceLoader] | LabelsOff.css
ArchiveLinks [ResourceLoader|default] | ArchiveLinks.js : fonctionne (2017-10-21), utilise un hook JS, utilise jQuery
ExtendedCache [ResourceLoader|dependencies=ext.gadget.ArchiveLinks] | ExtendedArchiveLinks.js : fonctionne (2017-10-21), utilise un hook JS, utilise jQuery
FlecheHaut [ResourceLoader] | FlecheHaut.js : fonctionne (2017-10-21), utilise jQuery, i18n à améliorer
HomonymiesEnCouleur [ResourceLoader] | HomonymiesEnCouleur.css
RedirectionsEnCouleur [ResourceLoader] | RedirectionsEnCouleur.css
interProjets [ResourceLoader] | interProjets.js | interProjets.cssretiréLastContrib [ResourceLoader] | LastContrib.js
LiensExternes [ResourceLoader|dependencies=mediawiki.util] | LiensExternes.js : importé depuis enwiki
newCollapsible [ResourceLoader|default|peers=newCollapsibleCSS] | newCollapsible.jsretirénewCollapsibleCSS [ResourceLoader|hidden] | newCollapsible.cssretiréPopups [ResourceLoader] | Popups.js
- referencederoulante [ResourceLoader] | referencederoulante.css
- tooltipRef [ResourceLoader|dependencies=user,user.options] | tooltipRef.js | tooltipRef.css
WikiOpenStreetMap [ResourceLoader|dependencies=mediawiki.util,jquery.ui.draggable,jquery.ui.resizable|default] | osm.jsretiréWikiMiniAtlas [ResourceLoader|default] | WikiMiniAtlas.jsretiré- ZoomOnThumb [ResourceLoader] | ZoomOnThumb.js
- VectorClassic [ResourceLoader|skins=vector] | VectorClassic.css
MiseEnPageEspaceAide [ResourceLoader] | MiseEnPageEspaceAide.cssretiré
- NavigAdmin [ResourceLoader| NavigAdmin.js
- SousPages [ResourceLoader|dependencies=mediawiki.util] | SousPages.js
TriInterWiki [ResourceLoader|dependencies=user] | sortInterWiki.jsretiréverifHomon [ResourceLoader|dependencies=mediawiki.util,user] | verifHomon.js | verifHomon.cssretiréverifEbauche [ResourceLoader| verifEbauche.js
EditZeroth [ResourceLoader| EditZeroth.js
OngletGoogle [ResourceLoader| OngletGoogle.js
OngletJournal [ResourceLoader|dependencies=mediawiki.util] | OngletJournal.js
OngletPurge [ResourceLoader|dependencies=mediawiki.util,mediawiki.api,mediawiki.notify|rights=purge] | OngletPurge.js
SupprimerInfoBulles [ResourceLoader] | SupprimerInfoBulles.js
UTCLiveClock [ResourceLoader|dependencies=mediawiki.util] | UTCLiveClock.js — Gadget chargé depuis mediawikiwiki
- DotsSyntaxHighlighter [ResourceLoader] | DotsSyntaxHighlighter.js
- MagnusEditBox [ResourceLoader] | MagnusEditBox.js
- ResumeDeluxe [ResourceLoader|dependencies=user] | ResumeDeluxe.js | ResumeDeluxe.css
QPreview [ResourceLoader|dependencies=mediawiki.util] | QPreview.jsretiré- searchbox [ResourceLoader] | lib-beau.js | searchbox.js
TiretSignature [ResourceLoader] | TiretSignature.js
- WikEd [ResourceLoader|dependencies=jquery.textSelection] | WikEd.js
- refToolbarBase [ResourceLoader|hidden] | refToolbarBase.js
- ProveIt [ResourceLoader] | ProveIt.js
- ForceMonobookToolbar [ResourceLoader|dependencies=mediawiki.toolbar] | ForceMonobookToolbar.js
- MonobookToolbarStandard [ResourceLoader|dependencies=mediawiki.toolbar|default] | MonobookToolbar.js | MonobookToolbarStandard.js
- MonobookToolbarSources [ResourceLoader| MonobookToolbar.js | MonobookToolbarSources.js
- MonobookToolbarPatrouille [ResourceLoader| MonobookToolbar.js | MonobookToolbarPatrouille.js
- MonobookToolbarNotif [ResourceLoader| MonobookToolbar.js | MonobookToolbarNotif.js
- MonobookToolbarSmiliesAlien [ResourceLoader| MonobookToolbar.js | MonobookToolbarSmiliesAlien.js
- MonobookToolbarChangeCase [ResourceLoader| MonobookToolbar.js | MonobookToolbarChangeCase.js
- MonobookToolbarDiacritiques [ResourceLoader| MonobookToolbar.js | MonobookToolbarDiacritiques.js
- MonobookToolbarLang [ResourceLoader|dependencies=mediawiki.toolbar] | MonobookToolbar.js | MonobookToolbarLang.js
- CaracteresHTML [ResourceLoader] | CaracteresHTML.js
- CaracteresMagic [ResourceLoader] | CaracteresMagic.js
- CaracteresParser [ResourceLoader] | CaracteresParser.js
- CaracteresOff [ResourceLoader] | CaracteresOff.css
- specialchars [ResourceLoader] | specialchars.js
- BandeauxEbauches [ResourceLoader|dependencies=mediawiki.util,mediawiki.api.edit] | BandeauxEbauches.js
- BandeauxPortails [ResourceLoader] | BandeauxPortails.js
- HotCatsMulti [ResourceLoader|dependencies=jquery.ui.position,site,user] | HotCatsMulti.js
- AdvancedContribs [ResourceLoader] | AdvancedContribs.js
ContribColors [ResourceLoader] |
ContribColors.jsContribColors.csscontribsrange [ResourceLoader] | contribsrange.js
- FusionContribs [ResourceLoader|rights=browsearchive] | FusionContribs.js
- DeluxeHistory [ResourceLoader|type=general|dependencies=mediawiki.util,user,user.options] | DeluxeHistory.js | DeluxeHistory.css
- LiveRC [ResourceLoader] | LiveRC.js
- OptimizedSuivi [ResourceLoader] | OptimizedSuivi.js
- recentchangesbox [ResourceLoader] | recentchangesbox.js
- SuiviSimple [ResourceLoader] | SuiviSimple.css
- GlobalWatchlist [ResourceLoader] | GlobalWatchlist.js
ConfirmRollback [ResourceLoader|rights=rollback] | ConfirmRollback.js
- RevertDiff [ResourceLoader] | RevertDiff.js
- ExternalSearch [ResourceLoader|default] | ExternalSearch.js
- AdvancedResearch [ResourceLoader| AdvancedResearch.js
- OldSearchBox [ResourceLoader] | OldSearchBox.js
Wdsearch [ResourceLoader|default|dependencies=mediawiki.util] | Wdsearch.js — Gadget chargé depuis enwiki
- WhereWikimediansLive [ResourceLoader|targets=desktop,mobile|dependencies=ext.kartographer.box,oojs-ui,mediawiki.api.edit] | WhereWikimediansLive.js
CarteInteractive [ResourceLoader|dependencies=ext.kartographer.box] | CarteInteractive.js
KartoLayer [ResourceLoader|dependencies=ext.kartographer.box,oojs-ui] | KartoLayer.js
Accessibility [ResourceLoader|dependencies=jquery.cookie] | Accessibility.js
- AvertissementImage [ResourceLoader] | AvertissementImage.js
DeleteBot [ResourceLoader| DeleteBot.jsretiré- Evaluation [ResourceLoader] | Evaluation.js
- OptimizedShort [ResourceLoader] | OptimizedShort.js
- PaStec [ResourceLoader|dependencies=mediawiki.util] | PaStec.js
- SuppressionDeluxe [ResourceLoader|rights=delete] | SuppressionDeluxe.js
- AllmessagesDeluxe [ResourceLoader] | AllmessagesDeluxe.js
- BugStatusUpdate [ResourceLoader] | BugStatusUpdate.js
- C_helper [ResourceLoader|dependencies=mediawiki.util,jquery.ui.dialog,jquery.ui.tooltip] | C_helper.js | C_helper_util.js | C_helper_si.js | C_helper_tag.js | C_helper_purge.js | C_helper_dph.js | C_helper_message.js