Skip to content
  • About
    • What is Symfony?
    • Community
    • News
    • Contributing
    • Support
  • Documentation
    • Symfony Docs
    • Symfony Book
    • Screencasts
    • Symfony Bundles
    • Symfony Cloud
    • Training
  • Services
    • Platform.sh for Symfony Best platform to deploy Symfony apps
    • SymfonyInsight Automatic quality checks for your apps
    • Symfony Certification Prove your knowledge and boost your career
    • SensioLabs Professional services to help you with Symfony
    • Blackfire Profile and monitor performance of your apps
  • Other
  • Blog
  • Download
sponsored by
  1. Home
  2. Documentation
  3. Symfony: The Fast Track
  4. French
  5. Votre environnement de travail

Votre environnement de travail

Avant de commencer à travailler sur le projet, nous devons nous assurer que vous avez 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.

Nous utiliserons PostgreSQL pour tout : du moteur de base de données aux files d'attente, et du cache au stockage de session. Pour la plupart des projets, PostgreSQL est la meilleure solution, puisqu'elle s'adapte bien et permet de simplifier l'architecture en n'ayant qu'un seul service à gérer.

A la fin du livre, nous apprendrons comment utiliser RabbitMQ pour les files d'attente (queues) et Redis pour les sessions.

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

Pour la gestion de versions, nous utiliserons Git puisque tout le monde l'utilise maintenant.

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 8.3 et 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, curl et zip.

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.

Tip

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.

NodeJS

Nous n'écrirons pas beaucoup de code JavaScript, mais nous utiliserons les outils JavaScript/NodeJS pour gérer nos assets. Vérifiez que vous avez installé NodeJS.

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, ni 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 du cloud au travers de Platform.sh, nous gagnerons un temps considérable.

Installez la commande symfony.

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 voulez quelque chose de plus joli, 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.

Previous page Pourquoi ce livre ?
Next page Présentation du projet
This work, including the code samples, is licensed under a Creative Commons BY-NC-SA 4.0 license.
TOC
    Version

    Symfony 6.4 is backed by

    Symfony Code Performance Profiling

    Symfony Code Performance Profiling

    Save your teams and projects before they sink

    Save your teams and projects before they sink

    Version:
    Locale:
    ebook

    This book is backed by:

    see all backers

    Symfony footer

    Avatar of adursun, a Symfony contributor

    Thanks adursun for being a Symfony contributor

    2 commits • 4 lines changed

    View all contributors that help us make Symfony

    Become a Symfony contributor

    Be an active part of the community and contribute ideas, code and bug fixes. Both experts and newcomers are welcome.

    Learn how to contribute

    Symfony™ is a trademark of Symfony SAS. All rights reserved.

    • What is Symfony?

      • What is Symfony?
      • Symfony at a Glance
      • Symfony Components
      • Symfony Releases
      • Security Policy
      • Logo & Screenshots
      • Trademark & Licenses
      • symfony1 Legacy
    • Learn Symfony

      • Symfony Docs
      • Symfony Book
      • Reference
      • Bundles
      • Best Practices
      • Training
      • eLearning Platform
      • Certification
    • Screencasts

      • Learn Symfony
      • Learn PHP
      • Learn JavaScript
      • Learn Drupal
      • Learn RESTful APIs
    • Community

      • Symfony Community
      • SymfonyConnect
      • Events & Meetups
      • Projects using Symfony
      • Contributors
      • Symfony Jobs
      • Backers
      • Code of Conduct
      • Downloads Stats
      • Support
    • Blog

      • All Blog Posts
      • A Week of Symfony
      • Case Studies
      • Cloud
      • Community
      • Conferences
      • Diversity
      • Living on the edge
      • Releases
      • Security Advisories
      • Symfony Insight
      • Twig
      • SensioLabs Blog
    • Services

      • SensioLabs services
      • Train developers
      • Manage your project quality
      • Improve your project performance
      • Host Symfony projects

      Powered by

    Follow Symfony