Manuel:Bibliothèques externes
Cette page contient la documentation sur la manière d'ajouter de nouvelles bibliothèques externes, au noyau MediaWiki. (For adding external CSS/JS/LESS libraries, see the foreign resources system.) Nous utilisons composer pour gérer les dépendances.
- Cherchez votre bibliothèque externe. Elle devrait se trouver dans la liste des paquets, et posséder une version labellisée que vous souhaitez utiliser.
- Utilisez ce formulaire de Phabricator pour demander une relecture de sécurité du code de la bibliothèque. Les relectures de code de sécurité sont nécessaires pour tout code écrit à l'extérieur (c'est à dire non écrit par un développeur MediaWiki). Les demandes de relecture de sécurité sont rangées par ordre de priorité sur une base trimestrielle dans cette section de la SOP concernée. Cette liste de contrôle servira de base de départ pour les meilleures pratiques pour le relecture de tout code tiers. Veuillez ajouter le projet MediaWiki-Vendor à la tâche.
- Une fois que la relecture de code de sécurité est approuvée, placez votre correction dans le répertoire mediawiki/vendor repository, en y ajoutant la bibliothèque.
- Votre correction doit utiliser des numéros fixes de version (comme 1.0.0) afin de toujours utiliser une version spécifique de la bibliothèque au lieu de dépendre du fait que le mainteneur du flux amont a suivi correctement les règles de la sémantique des versions étant donné que beaucoup d'entre eux ne les suivent pas.
- Téléversez l'ensemble de vos corrections mediawiki / noyau qui utilisent la bibliothèque en incluant dans les commentaires, un lien vers l'identifiant de votre validation (commit) mediawiki/vendor. (Cette étape peut être faite plus tôt, mais vous ne pouvez pas fusionner tant que la relecture de code de sécurité n'est pas terminée.)
- Dans votre correction, vous devrez éventuellement mettre à jour également le fichier noyau composer.json. (en utilisant un numéro de version fixe)
- Suivez le processus de relecture de code habituel. Dès que votre code est prêt pour être fusionné, la correction mediawiki/vendor peut être fusionnée, puis la correction mediawiki/noyau, afin que les tests unitaires puissent utiliser la bibliothèque.
Le processus est similaire pour les extensions déployées de Wikimedia. Vous devrez créer un fichier composer.json pour que votre extension puisse lister les dépendances. Dans votre fichier extension.json, déclarez "load_composer_autoloader": true,
(documentation) pour que ces dépendances soient chargées.
Le distributeur d'extensions embarque automatiquement les dépendances de composer afin que les utilisateurs des archives tarball n'aient pas à les faire manuellement. Vous aurez ensuite à ajouter la bibliothèque dans le répertoire mediawiki/vendor après que la relecture de code de sécurité soit réalisée.