Projet Phabricator : [[phab:tag/{{{phabricator}}}/|#{{{phabricator}}}]]

Modèle:Extension

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Template:Extension and the translation is 100% complete.
Other languages:
Deutsch • ‎English • ‎Nederlands • ‎Scots • ‎Tiếng Việt • ‎Türkçe • ‎dansk • ‎español • ‎français • ‎galego • ‎italiano • ‎magyar • ‎polski • ‎português • ‎português do Brasil • ‎română • ‎čeština • ‎Ελληνικά • ‎български • ‎македонски • ‎русский • ‎українська • ‎հայերեն • ‎العربية • ‎فارسی • ‎کوردی • ‎मराठी • ‎हिन्दी • ‎বাংলা • ‎မြန်မာဘာသာ • ‎中文 • ‎日本語 • ‎粵語 • ‎ꯃꯤꯇꯩ ꯂꯣꯟ • ‎조선말 • ‎한국어
Documentation du modèle

Ce modèle doit être ajouté à toutes les pages d'extension de ce wiki (mais seulement aux pages principales). Il ajoute une boîte d'information utile (voir ci-dessous) et ajoute automatiquement l'extension à Catégorie:Toutes les extensions , en même temps que l'état adéquat et les catégories du type d'implémentation .

Utilisation

Copier-coller :

{{Extension |templatemode =
|name                 = 
|status               = 
|type1                = 
|type2                = 
|hook1                = 
|hook2                = 
|newhook1             = 
|newhook2             = 
|username             = 
|author               = 
|description          = 
|image                = 
|imagesize            = 
|version              = 
|update               = 
|version preview      = 
|update preview       = 
|compatibility policy =
|mediawiki            = 
|php                  = 
|needs-updatephp      = 
|composer             =
|table1               = 
|table2               = 
|license              = 
|download             = 
|readme               = 
|changelog            = 
|example              = 
|namespace            = 
|parameters           = 
|tags                 = 
|rights               = 
|compatibility        = 
|bugzilla             = 
|phabricator          =
|vagrant-role         = 
}}
Pour obtenir de l'aide sur la valeur des paramètres, voir ci-dessous.
Manuel des extensions MediaWiki
OOjs UI icon advanced.svg
{{{name}}}
État de la version : inconnu
Placeholder.png
Implémentation {{{type1}}}, {{{type2}}}
Description {{{description}}}
Auteur(s) SomeAuthor (SomeUsertalk)
Dernière version {{{version}}} ({{{update}}})
Dernière version de développement {{{version preview}}} ({{{update preview}}})
Politique de compatibilité non valide
MediaWiki {{{mediawiki}}}
PHP {{{php}}}
Modifie la base de données {{{needs-updatephp}}}
Composer {{{composer}}}
Tables [[Special:MyLanguage/Template:Extension/{{{table1}}} table|{{{table1}}}]][[:Template:Extension/{{{table1}}} table| ]]
[[Special:MyLanguage/Template:Extension/{{{table2}}} table|{{{table2}}}]][[:Template:Extension/{{{table2}}} table| ]]
Licence {{{license}}}
Téléchargement {{{download}}}
{{{readme}}}
{{{changelog}}}
Exemple {{{example}}}
{{{namespace}}}
{{{parameters}}}
{{{tags}}}

{{{rights}}}

{{{compatibility}}}
Traduisez l’extension Extension sur translatewiki.net
Rôle Vagrant {{{vagrant-role}}}
Problèmes [[phab:tag/{{{phabricator}}}|Tâches ouvertes]] · Signalez un bogue

Paramètres de contenu

Cette section décrit les paramètres qui contrôlent le contenu de la boîte d'information. Pour l'aide concernant templatemode et les autres paramètres de contrôle, voir Paramètres de contrôle.

Paramètres de contenu
Paramètre Description
namenom de l'extension
statusétat de la version actuelle

Une valeur parmi :

  • unstable (cassé - ne pas utiliser cette extension)
  • experimental (premières étapes du développement, peut complètement changer)
  • beta (stable mais pas entièrement testé)
  • stable (version stable)
  • unmaintained (non maintenu - déclaré stable précédemment, maintenant il n'est plus maintenu)
  • archive (archivé - obsolète ou bien fusionné dans une autre extension)
  • unknown (par défault)

Si l'état n'appartient pas à cette liste, il sera ignoré et la valeur 'Unknown' sera affichée à place dans le modèle. Dans les cas où la valeur est omise, il sera categorisé comme inconnu[[::category:extensions with unknown status| ]]. Dans les cas où la valeur n'est pas valide, il sera placé dans une catégorie spéciale[[::category:extensions with invalid status| ]] de sorte que l'erreur soit récupérable et corrigée.

type1
type2
type3
type4
type5
type6
type d'implémentation

Concerne la ou les stratégies d'implémentation employées pour construire cette extension. Ce paramètre est utilisé pour créer des catégories qui aident les programmeurs à trouver des exemples de diverses stratégies d'implémentation spécifiques à MediaWiki ou de modèles. Bien que les valeurs de ce paramètre coincident parfois avec le cas d'utilisation ou le but d'une extension, ce n'est pas la raison de ce paramètre. Si les valeurs que vous avez choisies pour ce paramètre n'identifient pas clairement le but ou les cas d'utilisation possibles, nous vous recommandons d'ajouter des catégories de liens selon les besoins.

Les valeurs autorisées pour les paramètres type1, type2, ... sont :

  • parser - fourre-tout pour les extensions analyseur non catégorisées. Si vous avez écrit une extension d'analyseur syntaxique, veuillez utiliser l'un des types suivants plus spécifiques :
  • access - fourre-tout pour les extensions gérant l'accès des utilisateurs c'est à dire celles qui créent, authentifient, attribuent ou retirent les droits, ou supervisent l'activté des utilisateurs. Si vous avec écrit un extension d'accès, veuillez utiliser un des types plus spécifiques ci dessous :
    • user activity - extensions qui supervisent l'activité utilisateur (connexion, déconnexion, création de nouveaux utilisateurs, etc.)
    • user identity - extensions qui créent et suppriment les utilisateurs, et/ou vérifient l'identité d'un utilisateur
    • user rights - extensions du système de gestion des droits, par exemple pour le changement de la manière dont les droits sont assignés, l'API, les outils de maintenance (n'inclut pas les extensions qui le plus souvent nomment les droits nécessaires pour utiliser les fonctionnalités de l'extension; pour cela, utilisez le paramètre 'rights')
  • interface - fourre-tout pour les extensions de l'interface utilisateur non catégorisées.
    • media - extensions qui permettent d'inclure du contenu multimédia sur les pages wiki en enregistrant une extension de fichier avec $wgMediaHandlers .
    • mywiki - extensions qui fournissent l'infrastructure pour que les utilisateurs puissent personnaliser leur expérience MédiaWiki et/ou assister dans la gestion de cette infrastructure
    • notify - extensions qui envoient des courriels aux utilisateurs, diffusent des messages et fournissent d'autres formes de notifications communautaires
    • page action - extensions qui étendent ou modifient page action s. Ceci comprend tout ce qui implémente une action qui lit, écrit, recherche, crée, renomme, supprime, redirige ou permet la discussion d'une page. Cela ne comprend pas les droits (utilisez user rights) ni les journaux (utilisez user activity).
    • search - extensions qui recherchent et sélectionnent des articles pour les utilisateurs.
    • skin - extensions qui injectent du CSS ou du JavaScript, ou qui implémentent les fonctions d'accroche pour modifier l'aspect et le comportement de MediaWiki au travers du réseau des habillages.
    • ajax - extensions qui utilisent les techniques de programmation de Ajax.
    • special - extensions qui sous-classent la classe SpecialPage, utilisez l'une de ses accroches, ou modifiez une ou plusieurs fonctions dans SpecialPage.php. Voir Special pages pour plus d'informations.
  • autres
    • api - extensions qui ajoutent un nouveau module API ou qui étendent un module API du noyau.
    • hook - extension d'accroche - définit une nouvelle accroche - voir hook1, etc. ci-dessous si vous voulez définir des accroches utilisées par votre extension
    • database - ajoute des tables et/ou des champs à la base de données utilisée par l'installation MediaWiki
    • data extraction - extraction de données
    • filerepo - extension qui ajoute de nouveaux types de dépôts de fichiers comme fichiers de données
    • example - ce n'est pas vraiement une extension, mais un exemple sur la manière d'en écrire

Tout autre valeur de 'type' n'est pas valide, et provoquera le classement de l'extension dans Category:Extensions with invalid or missing type/fr.

Note: beaucoup d'extensions ont plus d'un type, si c'est votre cas, remplacez |type= par |type1=|type2=|type3=.... Vous pouvez définir jusqu'à 6 (six) types pour une extension.
hook1
hook2
hook3
hook4
...
hook90
nom des accroches utilisées par l'extension

En plaçant des valeurs dans ce champ, vous exposerez davantage votre extension et aiderez les autres développeurs. Chaque accroche documentée ajoutera automatiquement l'extension à une catégorie qui liste l'ensemble des extensions qui utilisent cette accroche. Cette catégorie et auto-liée à chaque page d'accroche de sortes à ce que les programmeurs puissent facilement trouver des exemples d'extensions qui utilisent une accroche particulière.

Pour les accroches intégrées :

  • utilisez le nom de l'accroche seul. Voir Manual:Hooks pour les valeurs (et omettre le '/' de début).

Pour les accroches personnalisées définies par les extensions :

  • utilisez extensionName/hookName. Pour une liste partielle d'accroches personnalisées, voir Extension hook registry.
Pour les accroches multiples, assignez la première accoche à hook1, la seconde à hook2 et ainsi de suite.
newhook1
newhook2
newhook3
newhook4
...
newhook90
nom de chaque accroche fournie par l'extension Vous pouvez également ajouter les accroches dans Extension hook registry.
usernameNom d'utilsateur de l'auteur sur MediaWiki.org (s'il existe). Peut être omis mais s'il est présent, il sera utilisé pour lier la page utilisateur et la page de discussion de l'auteur. Doit être fourni sans espace de noms et sans [[]]s.
authorNom de l'auteur de l'extension, s'il est différent du nom d'utilisateur MediaWiki.org. Texte libre. Si absent, alors le champ 'username' sera utilisé (s'il est initialisé).
descriptioncourte description
imagecapture d'écran ou logo de l'extension. Doit être fourni sans l'espace de noms et sans [[]]s.
imagesizefacultatif, taille de l'image (par défaut 220 pixels)
versiondernière version
updatedate de dernière mise à jour
compatibility policypolitique de compatibilité (les valeurs admises sont master et rel). (arriéré des tâches )
mediawikiversion de MediaWiki requise
phpversion de PHP requise
needs-updatephpyes indique que l'extension nécessite une modification du schéma des tables de la base de données ou une action similaire, avant que MediaWiki puisse fonctionner. C'est une voie obligée : votre MediaWiki se bloquera si vous oubliez d'exécuter update.php - si l'extension en a besoin. no doit être utilisé en tant que valeur parce que cela assure que l'extension n'a pas besoin d'exécuter update.php et ainsi évite l'ambiguïté.

Les extensions qui suivent la norme des extensions MediaWiki sont diffusées avec un script de modification du schéma que vous devez exécuter manuellement (une fois) avant de lancer et d'accéder à votre MediaWiki via votre navigateur. Après que vous ayez copié tous les fichiers de l'extension dans $IP/extensions/ExtensionName et ajouté wfLoadExtension( "ExtensionName"); dans "LocalSettings.php", entrez les instructions suivantes à partir de la ligne de commande :

cd path/to/wiki_install_directory
cd maintenance
php update.php
$IP désigne le répertoire d'installation (or "chemin" path en anglais) de votre installation MédiaWiki, le répertoire qui contient LocalSettings.php, index.php etc..
composerSi concerné, le nom du « vendeur » (vendor) ainsi que celui du « produit » (package) doivent être entrés dans le format vendor/package, par exemple mediawiki/semantic-media-wiki pour que les utilisateurs accèdent directement à packagist.org, qui sert d'archive des produits.
table1
table2
table3
table4
...
table30
nom de chaque table utilisée par l'extension et qui n'appartient pas au noyau Liens vers une sous-page de votre page d'extension. Par exemple « table1 = cu_changes » de Extension:CheckUser sera lié à Extension:CheckUser/cu_changes table . Ne listez pas les tables du noyau telles que page ou revision ; ne listez que les tables ajoutées par les extensions.
licenselicence relative à l'utilisation de cette extension, une valeur parmi les codes trouvés dans https://spdx.org/licenses/, par exemple GPL-2.0-or-later, GPL-2.0-only ou GPL-3.0-or-later, etc.
downloadlien de téléchargement : Git, {{WikimediaDownload}} avec server=svn dans le cas où l'extension n'a pas été migrée de Subversion . Si vous mettez le code dans la page du wiki MediaWiki, liez le en utilisant le nom complet de la page avec le nom de la section, par exemple [[Extension:Example/version_1.22a#Code]] (il doit rester valide quand il est recopié ailleurs par un robot)
readmelien externe vers le fichier readme, par exemple https://phabricator.wikimedia.org/r/browse/mediawiki/extensions/Flow;master;README
changeloglien externe vers le journal des modifications, par exemple Extension:LDAP Authentication/Changelog
parametersparamètres disponibles pour LocalSettings.php
tagstoute balise que votre extension peut utiliser (par exemple <tag1>, <tag2>).
rights droits ajoutés par l'extension. A ne pas confondre avec la licence d'utilisation ! Les droits sont par exemple makebot ou desysop , et non pas GFDL ou LGPL ou GPL - ces derniers étant des licences !
namespaceespace de noms dans lequel cette extension est utilisée
exampleexemple, site web, ou capture d'écran de l'extention en cours d'exéction
compatibilityInformations supplémentaires de compatibilité, par exemple les graphes de compatibilité (utilisant anciennement Template:Extension Testing). Il est recommandé d'ajouter ici également, toute information de compatibilité du côté client, spécialement dans les cas où le navigateur en prend pas tout en charge .
translateParamètre optionnel pour lier la page exacte où l'(ID du groupe de messages avec lequel) l'extension sera traductible sur translatewiki.net si c'est autorisé. Si le lien par défaut est incorrect, initialisez-le manuellement à :
  • ext-LOWERCASE(NOSPACES(libellé tel que défini dans config)), alias
  • au paramètre que vous trouvez ensuite dans l'URL après
bugzillanom de composant de l'extension Bugzilla MediaWiki
phabricatornom de projet Phabricator
CheckUsageNameOverrideréécrase le nom de page utilisé pour le lien de vérification de l'utilisation.

Paramètres de contrôle

Paramètres de contrôle
Paramètre Description
templatemodeContrôle l'auto-catégorisation de la page hôte.

Normalement laissé vide. Les valeurs possibles sont :

  • templatemode=nocats - supprime la catégorisation et le lien 'vérifier l'utilisation'. Utilisez cette valeur si vous ajoutez ce modèle aux sous-pages d'une extension ou à la documentation Comment faire pour... des extensions. Par exemple, ci-avant nous initialisons templatemode=nocats parce que ce n'est pas la page actuelle d'une extension et nous ne voulons pas ajouter cette page à aucune catégorie pour son compte.
  • nousage - supprime le lien 'vérifier l'utilisation'. Le lien est aussi supprimé si la page est une sous-page, qu'elle n'est pas dans l'espace de noms Extension: , ou s'il est supprimé par 'templatemode=nocats'
Si ce paramètre est laissé vide, ce modèle va ajouter la page hôte à Category:All extensions/fr et à l'une ou à plusieurs catégories supplémentaires, en fonction des valeurs assignées aux paramètres de contenu.

Utiliser la boîte d'information

Pages d'extensions existantes

Si vous désirez ajouter la boîte d'information sur une page existante, copiez et collez le code qui se trouve au début de cette page.

Créer un nouvel article d'extension

Pour créer une nouvelle page d'extension, saisissez son nom ci-dessous et cliquez sur le bouton. Une nouvelle page sera créée avec le modèle de la boîte d'information déjà en place.


Un développeur qui partage son code sur le wiki MediaWiki ou sur la base de connaissances des codes devrait s'attendre à :

Des retours / des critiques / des revues de code
Les revues et commentaires faits par d'autres développeurs sur des points comme l'utilisation des composants logiciels, la sécurité, l'efficacité et l'utilisabilité.
Des ajustements de la part de développeurs
D'autres développeurs modifiant le code que vous avez proposé afin de l'améliorer ou d'y faire du nettoyage pour qu'il satisfasse aux nouvelles méthodes et classes de composants logiciels, aux conventions de codage et aux traductions.
Un accès amélioré pour les administrateurs des wikis
Si vous décidez de mettre votre code sur le wiki, un autre développeur peut décider de le déplacer vers la base de connaissance de code MediaWiki pour une maintenance plus facile. Vous pouvez alors demander un accès de type commit pour continuer à le maintenir.
De futures versions par d'autres développeurs
De nouvelles branches de votre code, créées automatiquement en tant que nouvelles versions de MediaWiki, peuvent être publiées. Vous devriez effectuer un portage vers ces branches si vous voulez gérer d'anciennes versions.
Votre code pourra être intégré dans d'autres extensions qui ont un objectif identique ou similaire - en incorporant les meilleurs fonctionnalités de chaque extension.
Des crédits
Le crédit de votre travail sera préservé dans les versions futures - y compris les extensions intégrées dans d'autres extensions.
De même, vous devriez créditer les développeurs de toutes les extensions dont vous avez emprunté du code - en particulier lorsque vous incorporez leur code ailleurs.

Tout développeur qui ne se sent pas à l'aise quant à l'une de ces actions ne devrait pas héberger son code dans le dépôt de code. Vous êtes malgré tout encouragé à créer une page de résumé pour votre extension sur le wiki, afin de permettre aux gens d'en avoir connaissance et de savoir où la télécharger.

Etendre ce modèle

Bienvenue si vous désirez améliorer ce modèle ! Ce modèle est compliqué et certaines parties de l'aide sont toujours en cours :

Bouton Créer une extension

Pour améliorer le comportement du bouton Créer une extension :

Paramètres de la boîte d'information

En général :

  • Pour rendre ce modèle facile à utiliser, chaque libellé de la boîte d'information est lié à la documentation du ou des paramètres du modèle qu'il affiche. Si vous ajoutez un paramètre, assurez-vous de l'ajouter également dans la documentation des paramètres de contenu et de relier son libellé à cette documentation.

Pour modifier/corriger/ajouter les paramètres d'implémentation des types :

Pour modifier le comportement des paramètres de l'accroche :

Cas de test

Vérifiez que les pages suivantes sont toujours valables quand vous modifiez ce modèle.

TemplateData

Maintenance: vulnerabilities, archived