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
modifier0 % 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
modifierLes 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
modifierDé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- 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
Editnotice
modifier100 % 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
modifier100 % 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
modifier0 % accompli (estimation) | |
|
Centraliser sur meta ou mediawiki les gadgets qui sont utilisés sur plusieurs wikis.
Réécriture du code
modifier41,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.css - contribsrange [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