Étape 1: Votre environnement de travail

5.0 version
Maintained

Votre environnement de travail

Avant de commencer à travailler sur le projet, nous devons nous assurer que tout le monde a un environnement de travail de qualité. C’est très important. Les outils de développement dont nous disposons aujourd’hui sont très différents de ceux que nous avions il y a 10 ans. Ils ont beaucoup évolué et en bien. Il serait donc dommage de ne pas les exploiter : de bons outils vous mèneront loin.

S’il vous plaît, ne sautez pas cette étape. Ou du moins, prenez connaissance de la dernière partie à propos de la commande symfony (partie Symfony CLI).

Un ordinateur

Vous avez besoin d’un ordinateur. La bonne nouvelle c’est qu’il peut fonctionner avec la plupart des systèmes d’exploitation : macOS, Windows, ou Linux. Symfony et tous les outils que nous allons utiliser sont compatibles avec chacun d’entre eux.

Choix arbitraires

Je veux pouvoir avancer rapidement avec les meilleures options possibles. J’ai donc fait des choix arbitraires pour ce livre.

PostgreSQL sera notre moteur de base de données.

RabbitMQ est notre grand gagnant pour gérer des files d’attente (queues).

IDE

Vous pouvez utiliser Notepad si vous le souhaitez. Cependant, je ne le recommanderais pas.

J’ai travaillé avec Textmate, mais je ne l’utilise plus aujourd’hui. Le confort d’utilisation d’un « vrai » IDE n’a pas de prix. L’auto-complétion, l’ajout et le tri automatique des use, le passage rapide d’un fichier à l’autre… Autant de fonctionnalités qui vont largement augmenter votre productivité.

Je recommande d’utiliser Visual Studio Code ou PhpStorm. Le premier est gratuit et le second ne l’est pas, mais PhpStorm offre une meilleure intégration avec Symfony (grâce au Symfony Support Plugin). Au final, c’est votre choix. Je sais que vous voulez savoir quel IDE j’utilise. J’écris ce livre avec Visual Studio Code.

Terminal

Nous passerons de l’IDE à la ligne de commande en permanence. Vous pouvez utiliser le terminal intégré à votre IDE, mais je préfère utiliser un terminal indépendant pour avoir plus d’espace.

Linux est fourni avec Terminal. Utilisez iTerm2 sous macOS. Sous Windows, Hyper fonctionne bien.

Git

Mon dernier livre recommandait Subversion pour la gestion de versions, mais on dirait bien que maintenant tout le monde utilise Git.

Sur Windows, installez Git bash.

Assurez-vous de connaître les commandes de base comme git clone, git log, git show, git diff, git checkout, etc.

PHP

Nous utiliserons Docker pour les services, mais j’aime avoir PHP installé sur mon ordinateur local pour des raisons de performance, de stabilité et de simplicité. C’est peut-être vieux jeu, mais la combinaison d’un PHP local et des services Docker est parfaite pour moi.

Utilisez PHP 7.3 si vous le pouvez, peut-être 7.4 en fonction du moment où vous lisez ce livre. Vérifiez que les extensions PHP suivantes soient installées, ou installez-les maintenant : intl`, pdo_pgsql, xsl, amqp, gd, openssl, sodium. Éventuellement, vous pouvez également installer redis et curl.

Vous pouvez vérifier les extensions actuellement activées avec php -m.

Nous avons aussi besoin de php-fpm s’il est disponible sur votre plate-forme, mais php-cgi peut être une alternative.

Composer

Gérer les dépendances est capital aujourd’hui sur un projet Symfony. Installez la dernière version de Composer, le gestionnaire de paquets pour PHP.

Si vous ne connaissez pas Composer, prenez le temps de vous familiariser avec cet outil.

Astuce

Vous n’avez pas besoin de taper le nom complet des commandes : composer req fait la même chose que composer require, utilisez composer rem au lieu de composer remove, etc.

Docker et Docker Compose

Les services seront gérés par Docker et Docker Compose. Installez-les et lancez Docker. Si vous utilisez cet outil pour la première fois, familiarisez-vous avec lui. Mais ne paniquez pas, notre utilisation de Docker sera très simple : pas de configuration alambiquée, pas de réglage complexe.

Symfony CLI

Finalement, nous utiliserons la commande symfony pour accroître notre productivité. Du serveur web local qu’il fournit à l’intégration complète de Docker, en passant par le support de SymfonyCloud, nous gagnerons un temps considérable.

Installez la commande symfony et placez-la dans votre $PATH. Créez un compte SymfonyConnect si vous n’en avez pas déjà un et connectez-vous avec la commande symfony login.

Pour pouvoir utiliser HTTPS localement, nous avons également besoin d”installer une autorité de certification pour activer le support TLS. Exécutez la commande suivante :

1
$ symfony server:ca:install

Vérifiez que votre ordinateur répond aux conditions requises en exécutant la commande suivante :

1
$ symfony book:check-requirements

Si vous aimez le luxe, vous pouvez également utiliser le proxy Symfony. C’est optionnel, mais ce proxy vous permet d’obtenir un nom de domaine local se terminant par .wip pour votre projet.

Lorsque nous exécuterons des commandes dans le terminal, nous les préfixerons presque toujours avec symfony, comme dans symfony composer au lieu de simplement composer, ou symfony console au lieu de ./bin/console.

La raison principale est que la commande symfony définit automatiquement certaines variables d’environnement à partir des services exécutés via Docker. Ces variables d’environnement sont injectées par le serveur web local et disponibles automatiquement pour les requêtes HTTP. L’utilisation de symfony dans l’invite de commande vous assure donc d’obtenir le même comportement partout.

De plus, la commande symfony sélectionne automatiquement la « meilleure » version de PHP possible pour le projet.


This work, including the code samples, is licensed under a Creative Commons BY-NC-SA 4.0 license.