JetBrains IDEs/fr

For our Open Source work, the Wikimedia Foundation (and the community) received a number of licenses for the All Products Pack of JetBrains (in doing it, we're thanking JetBrains for the support of our projects). La license autorise un utilisateur rattaché à utiliser tous les produits d'ordinateur Jetbrains, comme décrit sur le site web de Jetbrains (Get access to all desktop products including IntelliJ IDEA Ultimate, ReSharper Ultimate and other IDEs). Si vous utilisez un produit JetBrains (tel que Intellij IDEA Ultima ou PhpStorm) pour contribuer au code Open Source pour MediaWiki ou des extensions MediaWiki, réfléchissez à nous soumettre une demande pour une clé de licence à l'un des administrateurs.



Comment recevoir une licence ?
For staff, see https://office.wikimedia.org/wiki/JetBrains.

Pour demander une licence, écrivez simplement un courriel ou contactez l'un de nos administrateurs via IRC :


 * Sam Reed (reedy in, sreed [AT] wikimedia [DOT] org)
 * Florian Schmidt (FlorianSW in, florian.schmidt.stargatewissen [AT] gmail [DOT] com)

Vous recevrez un courriel avec un lien d'invitation pour une de nos licences, qui, une fois cliqué, va connecter une licence avec votre compte JetBrains (si vous n'en n'avez pas encore, vous devrez en créer un). Veuillez noter que nous avons un nombre de licence limité, et même si vous êtes sûr que vous pouvez avoir une licence, nous voulons nous assurer que les personnes qui contribuent activement au code sur l'un de nos projets puissent en bénéficier. Cela signifie que nous vérifierons si vous êtes un contributeur actif à l'un de nos projets avant de vous envoyer un lien d'invitation. Il n'y a pas de grandes choses que vous devez accomplir (comme une quantité spécifique de changements par jour ou autre chose, ce serait ridicule, car nous sommes reconnaissants pour tout ce que vous faites pour nos projets !). Cependant, si vous n'avez jamais contribué au code de l'un de nos projets ou que votre dernière modification date de suffisamment longtemps (par exemple plus d'un an), nous pourrions vous demander quelques questions (par exemple « Pourquoi souhaitez-vous une licence ? »). Mais n'hésitez pas à simplement nous demander si vous pouvez obtenir une licence :)



Quel produit devrais-je utiliser ?
Comme mentionné précédemment, le projet open source MediaWiki possède des licences pour le Pack All Products de Jetbrains qui inclut tous les logiciels de bureau (comme PhpStorm, IntelliJ IDEA Ultimate, etc.). Certains produits partagent certaines fonctionnalités, donc il peut être difficile de choisir le bon produit. Vous avez probablement entendu parler de cette page car quelqu'un vous a suggéré d'utilise PhpStorm. Même si ce n'est pas faux, et que PhpStorm est un bon produit, nous vous encourage à choisir IntelliJ IDEA Ultimate, qui inclut certaines fonctionnalités en plus et la prise en charge de langues comparé à PhpStorm. Si vous prévoyez de contribuer aux projets plutôt que ceux utilisant PHP dans MediaWiki, il est probablement avantageux que vous utilisiez déjà un produit « non-ultra-plus ». Cependant, comme tous les produits sont inclus de toute façon, vous pouvez choisir le logiciel que vous préférez le plus, si vous en avez un.

Si vous souhaitez tester les fonctionnalités de pointe, IntelliJ IDEA Ultimate et d'autres produits séparés ont des rythmes de sortie de version séparés. Installer PhpStorm ou Webstorm séparément a ses avantagages.



Style de code MediaWiki
MediaWiki has its own and specific code style for PHP, JavaScript, JSON and some other languages. The JetBrains products allow you to define all of your coding conventions in the project settings so that the IDE supports you as best as it can, e.g. by automatically format the code you write.

The following XML code is a snapshot of the settings of the coding convention for PHP, JSON, JavaScript and LESS. It may be incomplete and misses some other languages. So if you want to extend it, feel free to simply add the settings for the coding convention. If you want to import the settings, please copy the code and save it as a file on your computer. Now import the settings in the JetBrains IDE ("Import Scheme" from the gear icon next to Settings > Editor > Code Style > Scheme).

With this, you can auto-format your code to conform to the standards. To do this, select "Reformat Code" from the Code menu.

Code sniffer integration
You can also integrate PHP Codesniffer (PHPCS) into PhpStorm and similar products, so that phpcs errors will be shown in real-time. Assuming you're working within the root of the core MediaWiki project (from which you can also work on extensions):


 * 1) Go to Settings > Languages & Frameworks > PHP > Code Sniffer.
 * 2) Next to "Configuration" click on the "...", opening up the Code Sniffer panel.
 * 3) Click on "...", and browse to the vendor/bin directory and select phpcs. Click on "Validate" to ensure the binary loads properly.
 * 4) Go to Settings > Inspections and look for "PHP Code Sniffer validation" under PHP.
 * 5) Select "Custom" as the "Coding standard", then from "..." choose the ruleset.xml file that's located in vendor/mediawiki/mediawiki-codesniffer/MediaWiki.

MediaWiki-Vagrant users specific
This replaces step 3 from the section above.
 * 1) Create a code sniffer configuration by clicking on "+" in the Code Sniffer panel.
 * 2) Select the Remote PHP interpreter as setup for MediaWiki-Vagrant, check Manual:How to debug/with MediaWiki-Vagrant and PHPStorm and MediaWiki-Vagrant/Advanced usage if you haven't yet.
 * 3) Select /vagrant/mediawiki/vendor/bin/phpcs as the PHP Code Sniffer path.

Running unit tests

 * 1) Go to Settings > Languages & Frameworks PHP > Test frameworks
 * 2) Set default configuration file as mediawiki/phpunit.xml (a sample phpunit.xml.dist is part of the repo – create your phpunit.xml by copying it if you haven't already).

Gerrit plugin
There's a third-party plugin for downloading and reviewing Gerrit changes, https://plugins.jetbrains.com/plugin/7272-gerrit. To configure, go to Settings -> Version control -> Gerrit, and set:


 * Web-URL: https://gerrit.wikimedia.org/r/
 * Login: your Gerrit username, e.g. "awight"
 * Password: your HTTPS password for Gerrit
 * Be sure to check "List all Gerrit changes", otherwise you will encounter a 414 error when the plugin tries to download all available projects in one request.

Phab and gerrit linking
References to phab tickets and gerrit patches (in the code or in commit messages on IntelliJ's git GUI) can be made clickable:
 * Go to Preferences > Version Control > Issue Navigation
 * Add the following configurations: