Contactez-nous

Création de votre premier projet Symfony avec Symfony CLI

Guide pas à pas pour créer votre premier projet Symfony en utilisant l'outil Symfony CLI. Apprenez les commandes essentielles et démarrez votre application web.

L'outil indispensable : le Symfony CLI pour démarrer un projet

Une fois que votre environnement de base est prêt, avec PHP, Composer et le Symfony CLI correctement installés et configurés, la création d'un nouveau projet Symfony devient une tâche remarquablement simple. Le Symfony CLI est l'outil privilégié pour cette opération, car il automatise le téléchargement du squelette de l'application et l'installation des dépendances initiales recommandées.

Avant de lancer la commande de création, assurez-vous d'être dans le répertoire parent où vous souhaitez que votre nouveau projet soit créé. Par exemple, si vous avez un dossier ~/projets_web ou C:\xampp\htdocs, naviguez-y via votre terminal. Cela permet de garder vos projets organisés.

Le Symfony CLI est conçu pour interagir avec les serveurs de Symfony afin de récupérer la version la plus appropriée du "squelette" de projet. Ce squelette est une structure de base minimale, mais fonctionnelle, d'une application Symfony, que vous allez ensuite enrichir avec votre propre code.

La commande magique : `symfony new` et ses options

La commande principale pour créer un nouveau projet Symfony avec le CLI est symfony new. Elle est suivie du nom que vous souhaitez donner à votre projet (qui sera également le nom du répertoire créé) et, optionnellement, de quelques indicateurs pour personnaliser le type de projet.

La forme la plus courante pour créer une application web complète est :

symfony new nom_de_votre_projet --webapp

Analysons cette commande :

  • symfony new : Indique au Symfony CLI que vous souhaitez initialiser un nouveau projet.
  • nom_de_votre_projet : Remplacez ceci par le nom désiré pour votre application, par exemple blog_symfony, ma_boutique_en_ligne, ou mon_super_site. Evitez les espaces et les caractères spéciaux (privilégiez les underscores _ ou les tirets - si nécessaire, bien que les noms simples soient souvent préférés). Ce nom deviendra le nom du dossier contenant votre projet.
  • --webapp : C'est une option cruciale pour la plupart des applications web traditionnelles. En utilisant --webapp, vous demandez à Symfony CLI d'utiliser un squelette de projet qui inclut un ensemble plus complet de dépendances utiles pour le développement web, telles que Twig (le moteur de templates), Doctrine (l'ORM pour interagir avec les bases de données), le composant Form, le Profiler (Web Debug Toolbar), etc. Cela vous donne un point de départ plus riche et prêt à l'emploi pour construire des interfaces utilisateur et gérer des données.

Autres options utiles pour symfony new :

  • Aucune option (projet minimal) : Si vous omettez --webapp (et toute autre option de type de projet) :
    symfony new projet_minimal
    Symfony créera un projet basé sur le squelette "skeleton" par défaut. C'est une version très dépouillée, idéale pour des microservices, des applications console, ou si vous souhaitez ajouter manuellement chaque dépendance.
  • --skeleton : Explicitement identique à l'omission de --webapp. Crée un projet minimaliste.
    symfony new projet_api --skeleton
  • --version="version_specifique" : Si vous avez besoin de créer un projet avec une version antérieure de Symfony (par exemple, pour de la maintenance ou pour des raisons de compatibilité), vous pouvez spécifier la version :
    symfony new ancien_projet --webapp --version="6.4.*"
  • --php="chemin_vers_php" : Si vous avez plusieurs versions de PHP installées et que le Symfony CLI ne détecte pas celle que vous souhaitez utiliser pour ce projet, vous pouvez lui indiquer explicitement :
    symfony new mon_projet_php82 --webapp --php="C:/php82/php.exe"

Après avoir tapé votre commande (par exemple, symfony new mon_premier_site --webapp) et appuyé sur Entrée, le Symfony CLI va commencer son travail. Il va d'abord télécharger l'archive du squelette d'application correspondant depuis les serveurs de Symfony. Ensuite, il va automatiquement exécuter composer install (ou composer update selon le contexte) pour télécharger et installer toutes les dépendances de base définies dans le fichier composer.json du squelette. Ce processus peut prendre quelques instants, en fonction de votre connexion internet et de la charge des serveurs.

Vérification et premiers pas dans votre nouvelle application

Une fois que le Symfony CLI a terminé son travail, vous verrez un message de succès dans votre terminal. Un nouveau répertoire, portant le nom que vous avez spécifié pour votre projet, aura été créé à l'emplacement où vous avez exécuté la commande.

La première chose à faire est de vous déplacer dans ce nouveau répertoire :

cd nom_de_votre_projet

Par exemple, si vous avez utilisé symfony new mon_premier_site --webapp, vous ferez :

cd mon_premier_site

Maintenant que vous êtes à la racine de votre projet Symfony, vous pouvez le démarrer pour vérifier que tout fonctionne correctement. Le Symfony CLI inclut un serveur web de développement local très pratique, qui est optimisé pour Symfony. Pour le lancer, exécutez :

symfony server:start

Le terminal affichera quelque chose comme :

[OK] Web server listening
     The Web server is using PHP FPM CGI.
     http://127.0.0.1:8000

L'adresse et le port peuvent varier (par exemple, localhost:8000). Ouvrez cette URL dans votre navigateur web préféré. Vous devriez être accueilli par la page de bienvenue par défaut de Symfony. Cette page confirme que votre projet a été créé avec succès et que le serveur de développement fonctionne.

Si vous voyez cette page, félicitations ! Vous avez créé et lancé votre premier projet Symfony. Le serveur de développement continuera de tourner dans le terminal. Pour l'arrêter, vous pouvez soit retourner à ce terminal et appuyer sur Ctrl+C, soit ouvrir un nouveau terminal, naviguer dans le répertoire du projet et exécuter :

symfony server:stop

Si vous souhaitez que le serveur tourne en arrière-plan (mode "démon"), vous pouvez utiliser l'option -d :

symfony server:start -d

Votre projet est maintenant prêt à être ouvert dans votre éditeur de code favori (comme VS Code ou PhpStorm) pour commencer à explorer sa structure et à écrire vos premières lignes de code. La prochaine étape sera de vous familiariser avec l'organisation des fichiers et des répertoires au sein d'un projet Symfony.