Developer hub/fr

Ceci est une vue d’ensemble très générale du développement MediaWiki, incluant des liens vers les documents clés, ressources et outils disponibles aux développeurs MediaWiki. Elle est écrite pour les développeurs LAMP qui ont déja expérimenté MediaWiki.


 * Si vous souhaitez « utiliser » les API web de Wikimedia, consultez Web APIs hub (document encore en cours de rédaction).
 * Si vous voulez contribuer au développement du logiciel Wikimedia, voyez New Developers.
 * Pour un guide d'introduction au développement de MediaWiki et des extensions MediaWiki, veuillez vous reporter à la page "comment devenir un hacker MediaWiki".
 * Si vous voulez contribuer avec d'autres utilisateurs tiers de MediaWiki, le MediaWiki Stakeholders' Group (MWStake) est un groupe d'utilisateurs MediaWiki constitué de développeurs MediaWiki, d'administrateurs système, d'utilisateurs, de consultants, et de fournisseurs d'hébergement.

Résumé
MediaWiki est le logiciel qui fait tourner Wikipedia, ses projets fères et des milliers de wikis de par le monde.

MediaWiki est écrit dans le langage de programmation PHP. Il utilise jQuery comme bibliothèque client JavaScript.

MediaWiki a d'abord été écrit pour la plateforme LAMP et s'exécute sur la plupart des systèmes d'exploitation. MediaWiki utilisait à l'origine les serveurs de bases de données MySQL et MariaDB.

MediaWiki est développé en open source en utilisant principalement le langage de programmation PHP principalement pour plateforme LAMP. Le développement du noyau est coordonné en ligne. Pour une liste complète des personnes travaillant sur le coeur du code MediaWiki, veuillez lire l'article. , il est largement coordonné en ligne, et supporté par la Fondation Wikimedia, bien que la communauté des développeurs volontaires joue également un rôle important.


 * 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.
 * Le code source est géré via le logiciel de gestion de version Git.
 * La revue de code pour la plupart des projets est effectuée sous . Suivez ce tutoriel pour configurer Git et Gerrit afin de soumettre des correctifs.
 * Le signalement de bogues et les tâches de la plupart des projets sont gérées sur Phabricator.
 * Les développeurs qui œuvrent sur les extensions ou sur l’interfaçage avec 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


Code, développement et style

 * L’article politique de développement offre une vue d’ensemble des points clés de la politique de développement.
 * Conventions de codage – apprendre à écrire du code dans le style MediaWiki.
 * Le guide sécurité à l’intention des développeurs permet d’apprendre comment aider à garder MediaWiki sécurisé.
 * La liste des points à vérifer avant toute soumission, est à lire avant de soumettre du code.
 * Guide de relecture – un guide pour les relecteurs de code source MediaWiki.
 * Sollicitation de commentaires – découvrir les procédures de suggestion de fonctionnalités à l'écosystème MediaWiki ou en soumettre une.

Résolution de problématiques et test du code source

 * Comment résoudre les anomalies – un guide pour la résolution des problèmes dus au code MediaWiki.
 * Manuel des erreurs et symptômes – une vue d’ensemble des erreurs fréquentes lors de développements avec MediaWiki et corrélations avec leurs symptômes.
 *  – apprendre à écrire des tests d'interface utilisateur pour MediaWiki avec Selenium.
 * Tests unitaires – apprendre à écrire des tests unitaires pour MediaWiki avec PHPUnit.
 *  - apprendre à écrire du code sécurisé.



Architecture

 * Manuel:Code – vue d’ensemble des éléments clés du code source MediaWiki.
 * Couche base de données – résumé des schémas de la base de données MediaWiki.
 * Variables objets globales – une liste partielle des variables globales les plus importantes.
 * Localisation – découvrir le système d'internationalisation de MediaWiki.
 * L’espace de nom Manuel de ce wiki est dédié à la documentation destinée aux développeurs.
 * [//doc.wikimedia.org/mediawiki-core/master/php/ Référence des classes MediaWiki] – documentation technique générée à partir du code source MediaWiki. (Note : la référence des classes est une page lourde et longue à charger.)
 *  – manuels, guides, et collections d'articles sélectionnés.

Sous-systèmes

 * 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.
 *  – 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.
 *  – infrastructure logicielle MediaWiki pour lancer des tâches au long cours s’exécutant de façon asynchrone.
 *  – infrastructure logicielle MediaWiki permettant de fournir des messages d'application localisés avec PHP ou JavaScript.

Étendre MediaWiki
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 :


 * API - accède aux données et aux métadonnées des instances MediaWiki via son API web.
 * Mécanismes de déclenchement - Chaque fois qu’un événement donné se produit, déclencher des réactions.
 * Fonctions d’analyse syntaxique - créer une nouvelle commande comme:.
 * Habillage - changer l’apparence et le comportement de MediaWiki.
 * Pages spéciales - Créer une nouvelle page spéciale.
 * Extensions des balises - Créer de nouvelles balises comme:
 * Etendre le marquage de wiki – ajouter un analyseur de point d'entrée pour modifier le contenu du texte wiki.

Aide pour les auteurs d'extensions

 * Manual:Developing extensions/fr – guide de développement d'extensions.
 * Project:WikiProject Extensions
 * Extensions FAQ
 * Voir Category:Extensions, pour la liste exhaustive des extensions.
 * Manual:$wgExtensionFunctions – à utiliser pour différer l’installation des extensions (ou exécuter d’autres rétroappels) d’autres après l’installation du noyau MediaWiki.
 * Extension:BoilerPlate - modèle d'extension vierge.

Aide aux développeurs d’habillages

 * Manual:Skinning Part 1 – instructions expliquant comment créer un habillage MediaWiki.
 * Manual:Skin configuration – guide de configuration des habillages MediaWiki.

Aide sur la réutilisation de bibliothèques de code

 * – un guide sur la création bibliothèques tierces en vue d’une utilisation avec MediaWiki.

Usages de Wikis tiers

 * - pour les wikis d'entreprises
 * - pour les wikis académiques