Pôle des développeurs

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

Other languages:
العربية • ‎български • ‎català • ‎čeština • ‎dansk • ‎Deutsch • ‎Ελληνικά • ‎English • ‎español • ‎فارسی • ‎suomi • ‎français • ‎galego • ‎עברית • ‎Bahasa Indonesia • ‎italiano • ‎日本語 • ‎한국어 • ‎Nederlands • ‎polski • ‎português • ‎português do Brasil • ‎русский • ‎سنڌي • ‎සිංහල • ‎тоҷикӣ • ‎ไทย • ‎Türkçe • ‎Tiếng Việt • ‎粵語 • ‎中文
Source code project 1171.svg
Crystal Clear app display.png UtilisateursUser hub Nuvola-inspired-terminal.svg Administrateurs systèmeSysadmin hub Source code project 1171.svg DéveloppeursDeveloper hub

Ceci est une vue d’ensemble très générale du développement MediaWiki, incluant les liens vers les documents clés, ressources et outils disponibles aux développeurs MediaWiki. Cela s'adresse donc à un public qui a déjà installé MediaWiki (ex : avec LAMP).

Résumé[edit]

MediaWiki est développé en open source[1] en utilisant principalement le langage de programmation PHP[2] principalement pour plateforme LAMP[3][4]. Le développement du noyau est coordonné en ligne. Le développement du noyau (Core) est dans une très large mesure coordonné en ligne.

  • Des discussions sur le développement ont lieu sur différentes listes de diffusion et canaux IRC. La principale liste pour développeurs est wikitech-l, et les principaux canaux IRC #mediawiki et #wikimedia-dev. Pour se faire une idée du type de profil de personne à qui s’adressent ces listes et canaux, il est recommandé de lire l'article Développeurs.
  • Le code source est géré via le logiciel de gestion de version Git. Pour une vue d’ensemble de la façon dont les développeurs Médiawiki utilisent Git, il est recommandé de lire l’article dédié à gerrit. Toute personne souhaitant disposer d’un accès au dépôt est invité à lire la FAQ sur l’accès au dépôt[5].
  • La relecture de code est effectuée via GerritGerrit, voir ce tutoriel pour mettre en place tout ce qui est nécessaire en vue de proposer des modifications.
  • Les développeurs qui œuvre sur des extensions ou sur de l’interfaçage MediaWiki (au lieu de travailler directement sur le noyau du code) disposent de plusieurs mesures de commodité pour l’extension, comme l'API, les mécanismes d’enclenchement et les habillages – voir la section #Étendre MediaWiki de la présente page pour une vue d’ensemble.

Documents clés[edit]

Code, développement et style[edit]

Résolution de problématiques et test du code source[edit]

Architecture[edit]

Sous-systèmes[edit]

  • API – l’API Mediawiki fourni un accès haut-niveau et direct aux données contenues dans les bases de donnée Mediawiki.
  • Gestionnaire de contenu – l’infrastructure logicielle MediaWiki pour l’intégration de types personnalisés de contenu de page.
  • Database accessManual:Database access – un panorama de l'utilisation des bases de données dans MediaWiki, dont un bref guide sur la couche d’abstraction de la base de données.
  • File d’attente des travauxManual:Job queue – infrastructure logicielle MediaWiki pour lancer des tâches au long cours s’exécutant de façon asynchrone.
  • Messages APIManual:Messages API – infrastructure logicielle MediaWiki permettant de fournir des messages d'application localisés avec PHP ou JavaScript.

Étendre MediaWiki[edit]

Mediawiki a été conçu de façon à ce qu’il puisse être étendu sans avoir modifier le noyau de son code. Cela facilite les mises-à-jour vers des nouvelles versions de Mediawiki sans nécessiter de fusion manuelle des modifications de code dans d’anciennes extensions.

Il y a six principaux types d'extensions qui permettent aux développeurs d'étendre ou modifier les fonctionnalités de MediaWiki. Ces principaux types sont :

Aide pour les auteurs d'extensions[edit]

Aide aux développeurs d’habillages[edit]

Aide sur la réutilisation de bibliothèques de code[edit]

Usages de Wikis tiers[edit]

Notes[edit]

  1. Les développeurs sont aussi bien des bénévoles que des salariés de la fondation Wikimédia, la liste des personnes concernés est disponible dans l'article Developers.
  2. Certains outils de MediaWiki sont des batchs, du shell, des makefiles et du Python.
  3. MediaWiki fonctionne sur la plupart des serveurs PHP, mais pourrait s'avérer limité sur les plateformes non LAMP.
  4. MediaWiki supporte aussi d'autres SGBD que MySQL, dont Oracle, PostgreSQL et SQLite.
  5. Le code et ses révisions sont lisibles sur $browserrepo ou en clonant la version de développement du code avec la commande Git
    git clone https://gerrit.wikimedia.org/r/p/mediawiki/core.git MediaWiki
  6. Visiter https://phabricator.wikimedia.org/feed/ pour voir les modifications récentes des bugs etdes problèmes dans l’instance Phabricator.