Manual:Bonnes pratiques pour composer.json

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Manual:Composer.json best practices and the translation is 70% complete.

Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎polski • ‎日本語

Lorsque vous créez un fichier composer.json pour votre extension/bibliothèque/etc qui sera utilisée dans MediaWiki, voici quelques bonnes pratiques à suivre. Vous devriez aussi lancer le validateur de Composer qui vous pointera les erreurs de schéma.

Configuration

  • "prepend-autoloader": false. L’auto-chargeur (autoloader) de Composer est plus lent que celui de MediaWiki et la plupart des classes chargées sont susceptibles d’être trouvées dans MediaWiki, ainsi donc ajoutez après plutôt que avant l’auto-chargeur de Composer. Voyez ceci pour quelques détails supplémentaires.
  • "optimize-autoloader": true. Il n’y a pas de raison de ne pas optimiser.

Bon exemple : mediawiki/core

Dépendances

  • Les dépendances devraient être fixées à un numéro de version ou un commit sha1 spécifique si un tag n’est pas disponible.
    • Pour les outils de développement tels que phpunit ou phpcs, "dev-master" ou "*" est acceptable.

Bon exemple : mediawiki/core

Nommage

Les bibliothèques hébergées dans Gerrit dans par le compte GitHub Wikimedia devraient typiquement être publiées dans l’espace de noms "wikimedia" (par exemple "wikimedia/cdb", "wikimedia/simplei18n"). L’utilisation de l’espace de noms "mediawiki" devrait être réservée aux extensions ou autres composants intrinsèquement liés à MediaWiki (les cadriciels de bots, etc.). Il est suggéré aux projets hébergés sur GitHub dans une organisation indépendante d’adopté une convention similaire qu’un espace de noms d’une organisation soit utilisé de façon égale entre les différentes bibliothèques publiées par le groupe.

Authors

Major authors to the project should be documented in the "authors" property. At least the name and email fields should be filled out. For libraries, this will be displayed on Special:Version in the "Installed libraries" section.

Extensions

Les noms d’extensions devraient être en bas-de-casse avec des -. Par exemple :

  • Extension:WikiEditor --> mediawiki/wiki-editor
  • Extension:MassMessage --> mediawiki/mass-message

Pour les rendre installables, une dépendance à "composer/installers" est requise, et le type doit valoir "mediawiki-extension".

Habillages

Principalement comme les extensions, à la différence que le type devrait être "mediawiki-skin". Les noms devraient finir avec le suffixe "-skin".

Because composer uses lowercase names for packages (e.g. mediawiki/vector-skin), the extra.installer-name property must be set to the uppercase name (e.g. Vector) so it is cloned in the right directory.

To make themselves installable, a dependency upon "composer/installers" with version >= 1.0.13 is required, and the type needs to be set to "mediawiki-skin".

Bon exemple : mediawiki/skins/Vector

Also extension.json

Version de MediaWiki : 1.25
Gerrit change 166705

Extensions and skins register information about themselves using an extension.json or skin.json file. Some metadata fields in these files overlap (discussed in T89456), including

  • homepage and url
  • license and license-name