Workflow moderne de WordPress pour les professionnels justification

Sur Wptuts +, nous avons présenté un certain nombre de flux de travail différents utilisés par les utilisateurs lors du développement pour WordPress. WAMP sous Windows, MAMP sous Mac ou XAMPP dans les deux cas. Aujourd'hui, nous allons expliquer certains des problèmes posés par ces méthodes et vous montrer une nouvelle approche..


Le problème

La plupart des sites Web en direct sont exécutés sur un serveur Web distant auquel vous avez accès via un plan d'hébergement. Mais vous ne voulez pas développer sur une machine distante. Il est beaucoup plus facile et sûr de développer sur une machine locale à laquelle vous avez un accès direct, puis de déployer votre code sur le serveur distant..

La plupart des serveurs Web distants exécutent un système d'exploitation spécialement conçu pour les serveurs. Il peut s’agir d’une variante de Linux, telle que CentOS, Microsoft Windows Server ou même OS X Server d’Apple. Ils utiliseront également un logiciel de serveur Web, tel que Apache, Nginx ou IIS, et un logiciel de serveur de base de données tel que MySQL, PostgreSQL ou Microsoft SQL. Ensuite, il y a diverses autres choses dont ils peuvent ou non disposer, tels que des interprètes PHP, Python ou Ruby, et une pléthore d'autres choses.

La grande majorité de ces logiciels ne sont pas du genre de logiciels que vous trouverez sur votre ordinateur portable ou de bureau. Les protocoles WAMP, MAMP ou XAMPP susmentionnés permettent d’installer Apache, MySQL et PHP nécessaires au développement WordPress, mais il existe divers autres éléments non nécessairement disponibles, sans parler du système d’exploitation lui-même (exécuter un serveur le système n'est pas pratique).

Mais, idéalement, vous souhaitez développer dans un environnement aussi proche que celui du serveur Web sur lequel vous devez déployer. C'est logique. Vous savez ce qui est / n'est pas disponible, et vous savez que tout devrait "fonctionner".

Alors, comment obtenez-vous votre environnement de développement (machine locale) identique à votre environnement de production (machine distante)??


Une solution virtuelle

Maintenant, vous pouvez toujours acheter un autre ordinateur que vous pouvez brancher sur votre réseau, installer Linux, Apache, MySQL et PHP et l’utiliser comme environnement de développement. Mais alors, cela coûte de l’argent et que se passe-t-il si vous avez besoin de faire du développement depuis un endroit différent? Le plan s'est effondré.

Heureusement, certains génies ont créé un logiciel capable d'émuler un ordinateur. Vous pouvez ensuite installer un système d'exploitation et un logiciel sur cette "machine virtuelle", et même le connecter à votre réseau..

Esprit. Soufflé.


VirtualBox est un logiciel de ce type, mais il en existe d’autres, tels que VMWare et Parallels..

Ainsi, vous pouvez avoir une machine virtuelle qui exécute tous les mêmes logiciels que la machine distante sur laquelle vous déploierez éventuellement. Pendant son fonctionnement, il utilisera les ressources de votre ordinateur portable ou de bureau, telles que la puissance du processeur, la mémoire vive, l'espace disque dur, etc. Mais les sites Web utilisent généralement beaucoup moins de ressources que les ordinateurs portables et les ordinateurs de bureau modernes. Ce n'est donc pas un problème.

Que se passe-t-il maintenant si vous déployez plusieurs machines distantes pour différents clients ou projets et si leur configuration est différente? Heureusement, vous pouvez avoir autant de machines virtuelles que vous le souhaitez! Un pour chaque projet, si nécessaire.

Bien sûr, le fait d’avoir de nombreuses machines virtuelles sur votre ordinateur portable ou sur votre bureau va commencer à faire des ravages. Vous devrez installer et installer le logiciel requis sur chaque logiciel au fur et à mesure de sa configuration. Ils prendront tous de la place sur le disque dur. Après un certain temps, vous constaterez que le logiciel devient un peu lourd. Vous pouvez toujours supprimer les machines virtuelles une fois que vous avez terminé avec un projet, mais ensuite, si le projet reprend, ou si le client revient pour plus de travail, vous devez recommencer le processus de configuration..

Peut-être y a-t-il un moyen de mieux gérer cela?


Vagabond


Entrez vagabond. Vagrant est un logiciel qui vous permet, selon leurs mots, de "créer et configurer des environnements de développement légers, reproductibles et portables".

Ça sonne bien, non?

Vagrant gère les machines virtuelles pour vous. Il est livré avec un support pour VirtualBox intégré, et vous pouvez également ajouter un support pour VMWare.

Tout ce que vous avez à faire est de créer un fichier de configuration Vagrant dans votre projet. Cela indiquera à Vagrant quelle machine virtuelle de base utiliser (quel système d'exploitation, etc.), quel logiciel installer, puis Vagrant le créera pour vous! Si vous avez terminé le projet, vous pouvez alors supprimer la machine, mais si vous en avez besoin, Vagrant le recréera pour vous avec les mêmes logiciels..


Obtenons WordPress spécifique

J'espère donc que je vous ai au moins partiellement vendu sur l'idée d'utiliser une machine virtuelle pour votre environnement de développement et d'utiliser Vagrant pour l'aider à rationaliser davantage. Mais il n’a pas encore été fait mention du développement WordPress…

Bon point! Mais je vais garder ça pour la deuxième partie. Nous avons expliqué la raison d'être du "pourquoi" et la prochaine fois, je vous expliquerai comment mettre en place toute cette configuration. Je suis sûr que vous serez complètement vendu.!