Composer

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Composer and the translation is 100% complete.

Other languages:
English • ‎español • ‎français • ‎magyar • ‎português • ‎русский • ‎中文 • ‎日本語

Composer est un gestionnaire de dépendances pour les bibliothèques PHP. En plus, il peut être utilisé pour gérer l'installation des extensions MediaWiki (depuis MediaWiki 1.22 ). À partir de MediaWiki 1.25 , les dépendances des bibliothèques externes du noyau de MediaWiki sont gérées par Composer.

Installer Composer

Sous Unix/Linux et macOS

Il existe plusieurs manières d'accéder à install Composer, à côté de la plus évidente, sudo apt install composer :

Pour récupérer la dernière version :

wget https://getcomposer.org/composer.phar

Ceci télécharge l'image du master actuel et expirera dans 30 jours. Il existe aussi des archives PHP (phars) pour les « versions » alpha comme 1.0.0-alpha.

Pour les utilisateurs sous OS X, vous pouvez utiliser Homebrew pour installer Composer :

brew install composer

Si cela ne fonctionne pas, ou que vous n'avez pas installé Homebrew, vous pouvez essayer :

php -r "readfile('https://getcomposer.org/installer');" | php

Jenkins et le distributeur d'extensions utilisent la copie de composer contenue dans le répertoire Git « integration/composer » .

Une fois composer installé, vous pouvez exécuter les commandes via le fichier phar téléchargé :

php composer.phar someCommand

Vous pouvez déplacer le fichier phar dans votre chemin de sorte qu'il soit utilisé comme un exécutable classique :

mv composer.phar /usr/local/bin/composer
composer someCommand

Si la commande mv échoue à cause des droits d'accès, exécutez-la de nouveau avec sudo.

Sous Windows

Téléchargez simplement et exécutez l'installeur à partir de la page de téléchargement. Si vous préférez une installation manuelle, vous pouvez suivre les étapes précédentes sauf que Windows ne dispose pas de wget (ni d'APT i de Homebrew) par défaut, et qu'il n'existe pas de répertoire /usr/local/bin .

Utilisation dans le noyau MediaWiki

MediaWiki 1.25+ dépend de quelques bibliothèques externes gérées par Composer. Composer crée un chargeur automatique sur vendor/autoload.php, qui est inclus par WebStart.php.

Les dépendances gérées par Composer sont regroupées dans des distributions tarball de MediaWiki et des extensions afin que les administrateurs système n'aient pas besoin d'utiliser directement Composer. Lorsque vous installez MediaWiki avec Git, les dépendances déclarées dans $IP/composer.json peuvent soit être installées localement en exécutant composer update --no-dev ou le référentiel mediawiki/vendor.git peut être cloné pour fournir les mêmes bibliothèques que celles utilisées sur la grappe de production Wikimedia.[1]

Utilisation du plugin composer-merge

Le noyau de MediaWiki « est propriétaire de » $IP/composer.json et modifiera le contenu de ce fichier dans les mises à jour par tarball ou gérées par Git. Afin de permettre aux installations locales d'utiliser Composer pour charger des bibliothèques facultatives et/ou gérer les extensions avec Composer, un plugin spécial pour Composer appelé composer-merge-plugin a été développé.[2] Ce plugin et la configuration composer.json du noyau de MediaWiki permettent à ce qu'un déploiement local puisse ajouter les extensions et les bibliothèques requises à un fichier composer.local.json dans le répertoire racine de MediaWiki.

composer.local.json peut également être utilisé pour installer les bibliothèques gérées par Composer et qui sont nécessaires aux extensions qui n'ont pas été installées avec Composer. Cela n'est nécessaire que lorsque les extensions ne sont pas installées à partir des archives générées par Extension Distributor.

Pour permettre à Composer de découvrir et de traiter les fichiers composer.json pouvant être inclus dans n’importe laquelle de vos extensions installées localement, ajoutez quelque chose comme ceci à $IP/composer.local.json :

{
    "extra": {
        "merge-plugin": {
            "include": [
                "extensions/*/composer.json",
                "skins/*/composer.json"
            ]
        }
    }
}

Après toute modification de composer.local.json, vous devez supprimer composer.lock avant d'exécuter de nouveau composer install de sorte que Composer puisse recalculer les dépendances et que les modifications puissent être réalisées.

Ressources

Wikipedia-logo.png Wikipedia: Composer (software)

Références