Quel IDE pour développer en Drupal ?

Pour développer on a besoin de trois outils de base : un éditeur de texte, un compilateur et un débogueur.

Soit on utilise chaque programme séparément soit on utilise un IDE (environnement de développement intégré).

Pour un site ou application web simple, un éditeur de texte est suffisant. Les tests s'effectuent ensuite sur un déboggeur de navigateur.

Un serveur web (Apache..) génère des pages html. Un module php couplé à Apache nous permet de générer des pages php (interpréter le php).

Il existe un grand nombre d'IDE pour faciliter le développement et les tests des applications web, qui nous font gagner un temps crucial (couleurs en fonction de la syntaxe du langage, autocomplétion intelligente qui reconnait le code de l'application (classes, fonctions...), système de contrôle de version (Git,...) , connection à un serveur FTP, snippets de code, debugger...).

Vous pouvez essayer aussi le très populaire Netbeans qui est gratuit, Phpstorm en premium. L'éditeur Sublime Text en complément reste bien pratique pour l'édition one shot des fichiers.

Configurer votre IDE pour le rendre compatible avec Drupal

Si nous développons sur Drupal, il sera nécessaire de vérifier ces points * :

- utiliser la coloration syntaxique

- reconnaître les fichier Drupal comme des fichiers php

- vérifier que les espace sont bien utilisés au lieu des tabulations

- vérifier l'encodage des fichiers

Critères de codage :

- nombre d'espaces avant le tiret : 2;

- espace de tabulation : 2;

- marge de droite : 80;

- retrait initial : 0;

 

* Drupal avancé, un CMS pour développeurs Christophe Villeneuve, Vanessa Kovalsky David

1. Drupal 8 + VIM :

Vim vim.org

openclassrooms.com/courses/reprenez-le-controle-a-l-aide-de-linux/vim-l-editeur-de-texte-du-programmeur

juampynr.github.io/vim-drupal8/#/13

 

2. Phpstorm = Webstorm + PHP + DB/SQL

Disponible par un abonnement annuel ou mensuel dégressif dans le temps, PhpStorm est proposé avec plusieurs licences au choix : business entreprise que vous pouvez utiliser à plusieurs dans votre agence web, développeur indivuel, étudiant en informatique en fournissant un email du centre de formation. Le logiciel est gratuit pour les mainteneurs de modules ou projets open souce.

Support d'outils de tests unitaires, Behat docs.behat.org

Support des debuggers de php : point d'arrêts.

jetbrains.com/phpstorm/

Idéal pour coder en D8 et Symfony 2, Git commit, pull, push, stash (console : merge, rebase).

3. Netbeans version HTML + PHP5

Solution open source gratuite pour coder en php.

Tests unitaires Atoum.

Intégration Sélénium pour les test fonctionnels seleniumhq.org

Intègre Gatling gatling.io

Intègre Redmine, Firebug, Jira

netbeans.org/downloads

Paramètrages de Netbeans pour Drupal

Vérifier la présence du plug-in Php dans les préférences du logiciel

La ligne PHP 5 interpreter doit être renseignée : /usr/bin/php

Tools> Options

Dans l'onglet Miscellaneous, configurer les extensions utilisées dans Drupal :

Ajouter une nouvelle extension en cliquant sur le bouton New, module et valider.

Choisir dans la liste déroulante Associated File_type (MIME) : Php Files

Répéter les mêmes opérations  pour les autres extensions : install, theme, make, tpl.

4. Visual Studio Code (VSCode) - Microsoft open source

Basé sur Electron (Atom Shell)

Idéal pour coder en JS - Node.Js - HTML5 - Css3 - Less/Sass - Python

30 langages pris en charge dont php (snippets).

5. Extension Drupal VSCode

6. Anaconda Python + Sublime Text 3

Transformer Sublime Text en IDE.

damnwidget.github.io/anaconda/

7. Drupal 7 + Sublime Text 3

Snippet Package Drupal 7 ST2- ST3 - packagecontrol.io/packages/Drupal

8. D'autres IDE :

Codeblocks codeblocks.org

Eclipse PDT (PHP Development Tools) eclipse.org - (orienté Java compilateur)

CodeLobster codelobster.com (payant en version pro)

Spket spket.com

Aptana aptana.com

Editeurs de texte avancés :

Sublime Text version 2 ou 3

packagecontrol.io/installation

Atom.io

github.com/atom

atom.io/packages/drupal

NP++ notepad-plus-plus.org/fr/

brackets.io/ (Adobe)

pspad.com/fr/ (win)

Processus d'intégration :

Sonar + plug-in pour php

sonarsource.com

Phpunit

phpunit.de

Atoum docs.atoum.org/fr/

Générateurs de documentations (automatisation)

phpdox.de/

stack.nl/~dimitri/doxygen/

github.com/squizlabs/PHP_CodeSniffer