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).

Pour un guide d'introduction au développement de MediaWiki, se reporter à la page "comment devenir un hacker MediaWiki".

Pour trouver de l'aide sur l'installation de MediaWiki ou les apparences, voir la page pour les administrateurs. Pour de l'aide à l'utilisation, voir le hub utilisateur.

Résumé
MediaWiki est développé en open source en PHP principalement pour plateforme LAMP. Le développement du noyau est 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. Lire l'article Developers pour savoir à quels profils de personnes ces listes et canaux sont destinés.


 * Le code source est géré via le logiciel de gestion de version Git. Lire l'article Git pour un résumé de comment il est utilisé pour développer MediaWiki. Lire l'aide d'accès à la console pour y accéder.


 * La relecture de code est assurée sur Gerrit, voir ce tutoriel pour être en mesure de proposer des patchs.


 * L'interfaçage des développeurs avec MediaWiki (au lieu de travailler directement sur le noyau du code) possède plusieurs inconvénients,comme l'API, les Hooks et Skins – voir la section de la présente page.

Documents clés


Code, développement et style

 * Development policy – résumé des politiques de développement clés.


 * Manual:Coding conventions/fr – apprendre à écrire du code PHP style MediaWiki.


 * Security for developers – apprendre à garder MediaWiki sécurisé.


 * Checklist de soumission – lire la checklist avant de soumettre un code.


 * Guide de relecture – un guide pour les relecteurs de code source MediaWiki.


 * Requests for Comment (RfC) – suggestion de fonctionnalités à l'écosystème MediaWiki.

Débogage et test

 * Bugzilla – résumé des recherches de bugs du projet MediaWiki.


 * Manual:How to debug – un guide pour déboguer MediaWiki.


 * Manual:Errors and symptoms – résumé des erreurs fréquentes de MediaWiki et corrélation avec leurs symptômes.


 * Selenium Framework – apprendre à écrire des tests d'interface utilisateur pour MediaWiki avec Selenium.


 * Manual:Unit testing – apprendre à écrire des tests unitaires pour MediaWiki avec PHPUnit.


 * Security – les problèmes de sécurité sont remontés à [mailto:security@wikimedia.org security@wikimedia.org].



Architecture

 * Manual:Code/fr – 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.


 * Manual:Contents/fr 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 cinq 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 – accès aux données et métadonnées des instances MediaWiki à travers une puissante APIMediaWiki.


 * 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 – instructions sur comment créer une skin MediaWiki.
 * Manual:Skin configuration – guide de configuration des skins MediaWiki.

Wikis privés

 * Enterprise hub - pour les wikis d'entreprises
 * Academic hub - pour les wikis académiques