Pour ceux qui, comme moi, préfèrent Sublime Text aux IDEs bloatwares mais veulent tout de même appliquer un contrôle qualité sur leur code simplement par satisfaction personnelle (si si je vous jure ça existe) ou plus vraisemblablement pour s'assurer du respect des normes de vos différents projets, je vous propose d'installer un petit plugin assez sympa : Sublime PHPCS
Sublime PHPCS se plugge sur votre éditeur préféré et permet d'y intégrer les outils PHP suivants:
- Linter : Analyseur syntaxique, vérifie qu'aucune erreur de syntaxe ne s'est glissée dans vos développements
- PHP CodeSniffer : Vérifie que votre code respecte un standard défini (ex: PSR-1, PSR-2, Zend...)
- PHP Mess Detector : Comme son nom l'indique, vérifie des problèmes potentiels dans le code
- Scheck : Similaire au précédent
- PHP Coding Standard Fixer : Corrige les erreurs de standard détectées avec PHP CodeSniffer
- PHP Code Beautifier : Formate votre code selon un certain nombre de règles paramétrables
Ces outils peuvent également être utilisés dans le cadre d'une intégration continue. Mais l'avantage de les brancher à Sublime Text est que le feedback se fait en même temps que vous codez ou simplement lorsque vous sauvegardez vos modifications. Cela permet de raccourcir encore le délai de détection des erreurs basiques et vous évitera ainsi de casser les prochains builds de votre projet pour rien.
L'installation sera décrite dans le cadre d'un environnement Windows, cependant les étapes peuvent être suivies dans le même ordre pour la plupart des autres OS (en revanche certaines configurations seront peut-être à revoir notamment au niveau des .bat).
Avant tout, assurez vous d'avoir Package Control installé sur votre éditeur. Si vous ne l'avez pas encore fait, je vous le conseille, il vous facilitera grandement la tâche.
Comme vous pouvez vous en douter, les différents outils listés précédemment nécessitent PHP pour fonctionner. Il faudra donc installer PHP sur votre machine. Si comme moi vous êtes sous Windows et faites vos développements sur une machine virtuelle Linux, et n'avez donc pas besoin d'avoir Apache et autre sur votre machine hôte, je vous conseille d'installer PHP en mode ad-hoc. Pour cela, téléchargez le package adapté à votre plateforme ici http://windows.php.net/download et placez le dossier obtenu après décompression où bon vous semble sur votre système. Personnellement je l'ai placé dans "C:\Program Files (x86)\PHP\x.x.x" (remplacez "x.x.x" par la version que vous venez de télécharger).
Téléchargez ensuite les différents outils listés au format PHAR (PHp ARchive). Les applications PHAR sont des exécutables PHP. Voici les différents endroits où vous pouvez les trouver:
- Linter : Ne nécessite pas de téléchargement supplémentaire, il s'agit d'une option de l'exécuteur PHP
- PHP CodeSniffer : https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar
- PHP Mess Detector : http://static.phpmd.org/php/latest/phpmd.phar
- Scheck : Non configuré chez moi
- PHP Coding Standard Fixer : http://get.sensiolabs.org/php-cs-fixer.phar
- PHP Code Beautifier : https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar
Placez les .phar à l'endroit où vous avez mis PHP, par exemple "C:\Program Files (x86)\PHP\tools" et créez pour chacun un .bat associé. Les fichiers BAT (BATch) sont des exécutables shell sous Windows. Par exemple, pour "phpcs.phar", créez un fichier "phpcs.bat" contenant :
Vous prendrez soin d'adapter les chemins en fonction de votre installation personnelle.
Vous pouvez ensuite passer à l'installation du plugin Sublime PHPCS sur votre éditeur. Pour cela, et grâce à Package Control, vous n'avez qu'à ouvrir la palette de commande sous Sublime Text (Ctrl+Shift+P) et taper "Package Control : Install Package". Attendez un peu et voyez une liste de plugins disponibles s'afficher. Tapez "PHPCS" et installez le. Ensuite depuis le menu Preferences->Package Settings->PHP Code Sniffer->Settings - User , configurez le plugin en lui donnant notamment le chemin vers les différents outils installés plus haut, à titre d'exemple voici ma configuration :
Il vous faudra adapter les différents chemins à votre installation. Vous noterez que j'ai désactivé le plugin à la sauvegarde car l'exécution de tous ces outils à chaque Ctrl+S peut être vite assez lourde surtout si, comme moi, votre fréquence de sauvegarde est élevée 😉 Le contrôle devra donc être lancé manuellement avec un clic droit puis "Sniff this file" depuis le menu PHP Code Sniffer rajouté au menu contextuel et qui contient tout ce qu'il faut pour tirer parti des outils installés.
Un doute au niveau de la configuration? N'hésitez pas à aller voir la page du plugin http://benmatselby.github.io/sublime-phpcs/ et https://github.com/benmatselby/sublime-phpcs pour plus d'exemples.
Merci, je débute et j’ai pu trouver de nombreuses infos. Bravo
Super
Sincèrement un immense merci ! Cela fait des heures que je cherche à comprendre comment installer ce fichu plugin et toutes les explications étaient jusqu’alors trop compliquées pour moi.
Bravo et mille mercis encore pour ce tuto magnifiquement clair.
Je vais pouvoir aller dormir sereine !