Developer hub/fr



Il s'agit d'un résumé de haut niveau 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).


 * Si vous souhaitez utiliser les API web de Wikimedia, consultez Web APIs hub (document encore en cours de rédaction).
 * Pour un guide d'introduction au développement de MediaWiki, se reporter à la page "comment devenir un hacker MediaWiki".
 * Pour obtenir de l'aide sur l'installation de ou la personnalisation de Mediawiki, consulter le.
 * Pour obtenir de l'aide à l'utilisation, consulter le.

Résumé
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. 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.


 * La relecture de code est effectuée via, 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


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 PHP 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

 * Anomalies – une vue d’ensemble du système de suivie des anomalies du projet MediaWiki.
 * 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.
 * Test unitaires – apprendre à écrire des tests unitaires pour MediaWiki avec PHPUnit.
 *  – les problèmes de sécurité sont remontés à [mailto:security@wikimedia.org security@wikimedia.org].



Architecture

 * Manuel:Code – résumé des parties 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 clés.
 * Localisation – apprendre le système d'internationalisation MediaWiki.
 * Manuel espace de nom sur ce wiki dédié à la documentation pour développeurs.
 * Référence des classes MediaWiki – documentation technique générée par le code source MediaWiki. (Note : la référence des classes est une grande page longue à charger.)
 * Bibliothèque virtuelle MediaWiki – manuels, guides, et collections d'articles sélectionnés.

Sous-systèmes

 * API – API pour avoir accès directement aux données.
 * ContentHandler – framework MediaWiki de support aux types de contenus de pages personnalisés.
 * Accès à la base de données – résumé de l'utilisation des bases de données dans MediaWiki, dont un bref guide à la couche abstraite base de données.
 * Job queue – framework MediaWiki pour lancer des longues tâches de façon asynchrone.
 * Messages API – framework MediaWiki pour fournir des messages d'application localisés en PHP ou JavaScript.

Étendre MediaWiki
Il y a six principaux types d'extensions qui permettent aux développeurs d'étendre les fonctionnalités de MediaWiki ou de les modifier. MediaWiki a été écrit pour permettre des modifications sans changer le code principal. Il est donc facile de mettre à jour sans devoir fusionner les modifications apportées. Ces principaux types sont :


 * API – access the data and metadata of MediaWiki instances through its powerful "Action" web API
 * Hooks - Chaque fois que "X" se produit, faire alors...
 * Parser Functions - Créer une nouvelle commande comme:
 * Skins - Changer l'apparence de MediaWiki.
 * Special Pages - Créer une nouvelle page spéciale.
 * Tag Extensions - Créer de nouvelles balises comme:

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 – pour déférer des extensions après le setup du noyau MediaWiki.
 * Extension:BoilerPlate - modèle d'extension vierge.

Aide aux développeurs de skins

 * Manual:Skinning Part 1 – instructions sur comment créer une skin MediaWiki.
 * Manual:Skin configuration – guide de configuration des skins MediaWiki.

Aide pour le code bibliothèque réutilisation

 * Bibliothèques en développement - un guide à l'emballage des bibliothèques tierces pour une utilisation avec MediaWiki

Wikis privés

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