Utilisation des outils pour un développement WordPress de qualité

La création d’outils, de thèmes, de plug-ins et d’applications dans WordPress requiert une grande variété de choses si nous voulons avoir les meilleurs outils nécessaires..

Si vous deviez demander, par exemple, à 10 personnes différentes quels outils elles préfèrent, vous obtiendrez non seulement un large éventail de réponses, des IDE aux applications de gestion des dépendances pour construire des outils, mais vous donnerez également une variété de réponses , qui offrent tous des fonctionnalités similaires à celles dont vous pourriez avoir besoin.

Par exemple, parmi les sujets que vous pourrez lire, citons:

  • Grognement
  • Tonnelle
  • Compositeur 
  • CodeKit
  • JSLint
  • … et plus

Cela ne frappe même pas la surface de sujets tels que les serveurs Web, les systèmes de base de données et les versions de PHP. Ce sont tous des sujets importants qui devraient être discutés, mais dans leur propre post.

Lorsque vous travaillez avec WordPress, certains des éléments non négociables permettant d’accomplir un travail efficacement sont notamment les suivants:

  1. Un IDE
  2. Un débogueur
  3. Code linting et Minification
  4. Contrôle de version
  5. Outils de déploiement

Comme dans la plupart des cas, les développeurs ont des choix particuliers quant aux outils qu'ils aiment utiliser et pourquoi ils aiment les utiliser..

Dans cet article, je vais partager quelques-uns des outils que je préfère utiliser et que j'ai trouvés utiles dans le cadre de mes efforts de développement professionnel de WordPress. cependant, je voudrais préciser que ce n’est pas une liste définitive de quels outils vous devrait utiliser.

Pensez-y plutôt comme un guide pour des exemples de ce qui constitue des outils de qualité pour le développement de la qualité. Si vous êtes satisfait des outils que vous utilisez, alors c'est génial! Mais si vous êtes à la recherche de quelque chose qui puisse vous aider à travailler plus efficacement, alors peut-être que cela vous aidera à vous engager sur la bonne voie..

Avant de commencer, je souhaite partager le fait que j'utilise OS X. Par conséquent, bon nombre de mes recommandations seront basées sur cette plate-forme. Cependant, la plupart des applications que j'utilise ont à la fois des versions Windows et Linux, ainsi que des outils open source disponibles sur plusieurs plates-formes..

1. IDE

Avoir un IDE pour écrire du code est essentiel. Bien sûr, certains développeurs préfèrent quelque chose d'aussi simple que TextEdit ou Notepad ++. Plus de pouvoir pour eux! Mais si vous êtes à la recherche de quelque chose avec la coloration syntaxique, la complétion de code, la prise en charge des plugins, l'intégration S / FTP et même l'intégration de contrôle de version, vous disposez de nombreux outils..

Personnellement, mon choix est Coda 2.

Cet IDE donne lieu à des opinions mitigées dans tous les domaines du développement WordPress. Certains préfèrent Atom, certains préfèrent Sublime Text, certains préfèrent Vim, d'autres préfèrent PHPStorm et tous ont leurs points forts..

Personnellement, j'aime Coda 2 pour son support continu, ses mises à jour, ses variantes mobiles de l'application et son apparence générale. J'aime les progrès réalisés en ce qui concerne la prise en charge de plates-formes telles que WordPress, et la possibilité de compléter le code intégré est agréable.

Certes, d'autres IDE offrent exactement les mêmes fonctionnalités; Cependant, si vous optez pour Coda, voici quelques plugins que je préfère pour le développement WordPress. Dans aucun ordre particulier:

  • Mode WordPress pour Coda 2
  • PHP Docblock Generator
  • White Out

Bien sûr, il y en a beaucoup d'autres que vous pouvez installer, ainsi.

En ce qui concerne les autres IDE que vous recommandez, assurez-vous de vérifier la conclusion pour savoir comment nous souhaitons les intégrer dans le fil de commentaires de ce message.

2. Débogueurs

Le débogueur est l’un des outils les plus puissants de la boîte à outils de tout développeur. Pour ceux qui ne sont pas familiers, ce logiciel vous permet de surveiller exactement ce que votre code source fait chaque fois qu'il exécute ce que le programme fait pendant l'exécution.

Cela vous donne la possibilité de:

  • voir quelle fonction est activée
  • voir les valeurs des différentes variables
  • enjambez certaines fonctions que vous souhaitez éviter
  • entrez dans les fonctions que vous souhaitez voir (telles que les fonctions principales de WordPress)
  • … et bien plus

De nombreux IDE, tels que PHPStorm, sont livrés avec un débogueur intégré. Mais si vous choisissez d'utiliser un IDE différent qui n'inclut pas de débogueur en natif, je recommande fortement Codebug..

C'est un débogueur élégant et facile à utiliser qui vous donne toute la puissance d'un débogueur natif, mais dans une application autonome. Il vaut bien le prix à ajouter à votre arsenal.

Attention: si vous débutez dans le débogage et / ou que vous ne savez pas comment fonctionne le système, veillez à lire la documentation. C'est en fait relativement facile à apprendre, mais il a sa courbe d'apprentissage. 

Une fois que vous vous êtes habitué à utiliser un débogueur, vous vous demanderez comment vous avez pu vivre sans un.

3. Outils de lignage et de minification de code

Les outils de lignage et de minification de code peuvent constituer deux sujets distincts, mais ces jours-ci, ils vont tellement de pair que je pensais qu'ils valaient la peine d'être inclus ensemble..

Peluches

Premièrement, pour ceux qui ne sont pas familiers, la charpie consiste essentiellement à s'assurer que votre code (dans ce cas, votre code JavaScript) est conforme à une norme particulière. C'est-à-dire qu'il n'utilise pas de mauvaises pratiques.

Selon Wikipedia:

Lint était le nom donné à l'origine à un programme particulier qui signalait des constructions suspectes et non portables (susceptibles d'être des bogues) dans le code source en langage C. Le terme est maintenant appliqué de manière générique aux outils qui signalent une utilisation suspecte dans des logiciels écrits dans n’importe quel langage informatique..

Dans notre cas, nous avons des outils tels que JSLint et JSHint qui nous permettent de faire exactement cela avec notre code JavaScript.

Vous pouvez certainement trouver des linters pour d’autres langues également, mais le cas le plus fréquent dans lequel vous allez trouver des peluches dans WordPress concerne JavaScript. Vous pouvez également trouver cela intégré dans l'un des outils de construction mentionnés au tout début de cet article..

Minification

La minification fait référence au processus consistant à prendre une langue (CSS, Sass, LESS, JavaScript, etc.), puis à supprimer tous les espaces, les noms de variables longs, etc., dans un fichier plus compact..

L'idée n'est pas de créer du code obscurci, mais bien de créer des fichiers légers que vous pouvez utiliser pour le navigateur dans un environnement de production afin que votre site se charge plus rapidement, car il y a moins de ressources à télécharger..

Il y a aussi la notion de concaténation qui dépasse le cadre de cet article, mais l'idée de la concaténation est que tous les scripts et feuilles de style minifiés seront combinés dans un seul fichier, de sorte que le navigateur ne doit faire que deux requêtes, une pour chaque fichier..

En tout état de cause, tous les outils mentionnés ci-dessus s’occuperont également de fournir une minification (et une concaténation) de vos scripts et de vos styles et les afficheront dans le répertoire de votre choix..

4. Contrôle de version

Chaque fois que vous travaillez sur une base de code, que ce soit avec vous-même ou en équipe, il est toujours utile de vous assurer de maintenir des versions cohérentes de votre logiciel..

En bref, le contrôle de version vous permet de valider votre code dans un référentiel de sorte que, lorsque vous ou vos coéquipiers apportez des modifications, les dernières versions du code sont conservées de manière à afficher l'historique de ce qui a été fait. fait et que vous pouvez revenir en arrière à un moment donné dans la chronologie en cas de problème.

En terme de quoi logiciel est le meilleur pour le contrôle de version, il existe des outils comme Subversion, Git et Mercurial.

Si vous avez l'habitude de travailler au sein de l'économie WordPress, vous êtes probablement familiarisé avec Subversion car c'est ce que le noyau utilise pour gérer les changements apportés au système..

De même, si vous avez déjà créé et publié un plugin, vous avez dû travailler avec Subversion pour valider votre code, baliser votre version, etc..

Mais Git devient de plus en plus populaire. On peut soutenir que les deux sites les plus populaires pour l'hébergement Git sont GitHub et Bitbucket. Quoi qu'il en soit, si vous recherchez un client Git solide, je vous recommande vivement Tower 2.

Bien que ce soit mon client de choix, il y a beaucoup d'autres alternatives. En fin de compte, vous devez vous assurer que vous ajoutez votre code au contrôle de source, que vous travaillez avec un client que vous aimez et que, si possible, vous l'avez branché sur un système de déploiement tel que chaque fois que vous le souhaitez. pousser une fonctionnalité ou une exigence particulière, l'environnement utilisé par le client pour examiner le produit est mis à jour avec le nouveau code.

5. Outils de déploiement

Chaque fois que vous travaillez à la construction d'un projet WordPress, ou de tout projet logiciel, le flux de travail standard de haut niveau que nous suivons tous est le suivant:

  • Un environnement de développement sur lequel nous avons une machine locale où nous faisons notre développement.
  • Un environnement de transfert dans lequel nous déployons notre code afin que les clients puissent marteler le projet à mesure que nous progressons dans les exigences.
  • Et puis l'environnement de production, qui est l'endroit où le projet final est déployé.

À ce stade, il n'est pas du tout rare qu'un système de déploiement soit connecté à votre logiciel de gestion de code source de telle sorte que chaque fois qu'une nouvelle mise à jour est validée dans le référentiel de code source, la dernière version du projet sera publiée..

Heureusement, il existe un certain nombre d'excellents outils disponibles pour configurer des déploiements automatisés..

Codification

La codification se positionne comme un service d'intégration continue capable d'exécuter les scripts nécessaires pour construire, tester et déployer votre projet à partir d'un commit Git..

Cela signifie que vous pouvez exécuter un certain nombre de scripts à déclencher pendant le déploiement et recevoir des notifications avant de déployer quoi que ce soit en production..

Selon la taille de votre équipe et / ou de votre projet, la codification en code est une bonne solution, en particulier pour les grandes organisations composées de propriétaires, de gestionnaires, de gestionnaires de projet, etc..

Cela dit, j’ai personnellement utilisé cet outil dans une équipe de deux personnes et je suis satisfait des résultats..

DeployBot

DeployBot s'appelait auparavant Dploy.io. Semblable à Codeship, DeployBot vise à prendre le code source validé dans un référentiel Git et à le déployer dans un environnement de votre choix..

Il est également capable d'exécuter des scripts, de créer et de compiler du code et de le déployer dans différents environnements en fonction de la configuration que vous avez fournie..

Naturellement, ce ne sont pas tous les outils de déploiement disponibles, mais vous en trouverez probablement deux en travaillant avec un logiciel professionnel. Chacun d’entre eux offre ses propres avantages et inconvénients pour ce que vous essayez de faire; Cependant, comme il ne s'agit pas d'un article de synthèse ou de comparaison, je vous laisse le soin de déterminer l'exercice qui convient le mieux à votre flux de travail.

Conclusion

Comme indiqué dans l'introduction, ces outils ne sont rien de plus que des recommandations indiquant où commencer avec certains outils de développement WordPress. Je sais que beaucoup d'entre vous ont leurs propres préférences quant à ce que vous aimez utiliser pour chacun des critères ci-dessus..

Cela dit, j'aimerais que vous partagiez tous vos outils préférés et les raisons pour lesquelles vous aimez les utiliser dans les commentaires. De cette façon, les lecteurs actuels et futurs auront non seulement un post avec des recommandations, mais aussi des commentaires offrant des alternatives,.

Après tout, le développement ne consiste pas uniquement à résoudre des problèmes. Il s'agit de trouver des outils qui font également plaisir de travailler pendant environ huit heures par jour devant un ordinateur..