Vous voulez créer un projet Symfony mais vous cherchez la commande exacte ? Vous hésitez entre le Symfony CLI et Composer pour l’installation ? Vous n’êtes pas le seul.
Cet article vous donne les commandes claires et à jour pour lancer votre nouveau projet Symfony. Vous saurez exactement quoi taper dans votre terminal pour avoir une application prête à l’emploi en quelques secondes.
Les Commandes pour Créer votre Projet Symfony
Pour créer un nouveau projet, vous avez deux options principales. La méthode recommandée est d’utiliser le Symfony CLI, un outil en ligne de commande fait pour simplifier le développement avec Symfony. L’alternative est d’utiliser Composer, le gestionnaire de dépendances de PHP.
Méthode 1 (Recommandée) : Avec le Symfony CLI
C’est la façon la plus simple et rapide de démarrer. La commande symfony new s’occupe de tout.
Pour une application web complète avec un système de templates et tout ce qu’il faut pour un site web :
symfony new my_project_directory --webapp
Pour un projet minimaliste, comme une API ou une application console :
symfony new my_project_directory
Méthode 2 (Alternative) : Avec Composer
Si vous ne voulez pas ou ne pouvez pas installer le Symfony CLI, Composer reste une solution viable.
D’abord, vous créez un projet minimal avec `skeleton`. La commande crée un nouveau projet (`new project`) basé sur le squelette Symfony :
composer create-project symfony/skeleton:"^7.0" my_project_directory
Ensuite, si vous voulez les outils pour une application web complète, vous devez les ajouter manuellement :
cd my_project_directory
composer require webapp
Quelle Commande Choisir ? `skeleton` vs `webapp`
Le choix entre un projet de base (`skeleton`) et un projet web (`webapp`) dépend de ce que vous voulez construire. Le `skeleton` est le strict minimum pour faire tourner une application Symfony. Le pack `webapp` ajoute une série d’outils utiles pour les sites web traditionnels.
Voici un tableau pour y voir plus clair.
| Caractéristique | symfony/skeleton (de base) |
symfony/webapp-pack (option --webapp) |
|---|---|---|
| Contenu | Noyau Symfony, Console, Routing, Flex. C’est tout. | Tout ce qu’il y a dans skeleton, plus des outils comme Twig (templates), Doctrine (base de données), Webpack Encore (assets), etc. |
| Cas d’usage | Idéal pour les APIs, les microservices ou des applications qui tournent uniquement en ligne de commande. | Parfait pour les applications web complètes, les sites internet avec des pages HTML, des formulaires et une base de données. |
| Commande | symfony new mon_projet |
symfony new mon_projet --webapp |
Prérequis Indispensables Avant de Lancer la Commande
Avant de créer votre premier projet, vous devez vérifier que votre ordinateur a bien les outils nécessaires. Sans ça, les commandes ne fonctionneront pas. Il y a des prérequis techniques (`technical requirements`) à respecter.
- PHP : Vous devez avoir une version récente de PHP. Pour Symfony 7, il faut PHP 8.2 ou une version supérieure.
- Composer : C’est le gestionnaire de paquets pour PHP. Il sert à télécharger Symfony et ses dépendances. Si vous ne l’avez pas, vous pouvez Installer Composer depuis son site officiel.
- Symfony CLI : C’est l’outil recommandé pour gérer vos projets Symfony. Il fournit un serveur web local optimisé et d’autres commandes utiles. Vous pouvez télécharger le Symfony CLI ici.
Une fois le Symfony CLI installé, vous pouvez vérifier si votre configuration est correcte avec une simple commande. Elle analyse votre installation PHP et liste les extensions manquantes ou les problèmes de configuration.
symfony check:requirements
Comprendre la Structure de votre Nouveau Projet Symfony
Quand la commande d’installation a terminé, un nouveau dossier est créé. À l’intérieur, vous trouverez plusieurs fichiers et répertoires. Connaître les principaux vous aidera à vous y retrouver.
bin/: Contient l’exécutableconsole. C’est un des fichiers les plus importants, il vous permet de lancer des commandes Symfony (vider le cache, créer des entités…).config/: Tous les fichiers de configuration de votre application se trouvent ici. Routes, services, paquets, tout est géré depuis ce dossier.public/: C’est le seul dossier accessible depuis un navigateur. Il contient le fichierindex.php, le point d’entrée de toute votre application. Pour des raisons de sécurité, les serveurs comme Nginx ou Apache doivent pointer ici.src/: Le cœur de votre application. C’est là que vous allez passer 90% de votre temps. Vos contrôleurs, entités, services et toute votre logique métier se trouvent dans ce répertoire.templates/: Si vous avez choisi l’option--webapp, ce dossier contient vos fichiers de templates Twig, qui génèrent le HTML de vos pages.var/: Ce dossier contient les fichiers temporaires. Il est divisé en deux sous-dossiers principaux : `cache` et `logs`. Symfony y écrit le cache pour accélérer l’application et les logs pour le débogage..env: Un fichier texte à la racine pour gérer vos variables d’environnement, comme les accès à la base de données.
Et Après ? Démarrer le Serveur et Afficher votre Première Page
Votre projet est créé, mais comment le voir dans votre navigateur ? Le Symfony CLI intègre un serveur de développement local très efficace.
Placez-vous d’abord dans le répertoire de votre projet avec les commandes suivantes :
cd my_project_directory
Ensuite, lancez le serveur :
symfony server:start
http://localhost:8000. Ouvrez cette URL dans votre navigateur pour voir la page d’accueil par défaut de Symfony. C’est le signe que votre installation a réussi.
FAQ – Questions Fréquentes sur la Création de Projets Symfony
Voici quelques questions souvent posées lors de la création d’un nouveau projet Symfony.
Comment choisir la version de Symfony à installer ?
Par défaut, les commandes symfony new et composer create-project installent la dernière version stable de Symfony. C’est ce qui est recommandé pour tout nouveau projet. Si vous avez besoin d’une version spécifique, vous pouvez le préciser dans la commande Composer.
Puis-je créer un projet Symfony sans le Symfony CLI ?
Oui, c’est tout à fait possible en utilisant directement Composer, comme montré plus haut. Cependant, vous perdez les avantages du CLI, notamment le serveur web optimisé et les intégrations avec SymfonyCloud. Pour le développement local, le CLI est un vrai plus.
Comment ajouter des fonctionnalités (comme Doctrine) après avoir utilisé `skeleton` ?
C’est très simple grâce à Symfony Flex. Si vous avez commencé avec un projet `skeleton` minimal, vous pouvez ajouter n’importe quel paquet avec Composer. Par exemple, pour ajouter Doctrine, il suffit de lancer : composer require doctrine. Flex configurera automatiquement le paquet pour vous.
Le Symfony Installer est-il toujours d’actualité ?
Non. L’ancien `symfony-installer` est obsolète et n’est plus maintenu. Il a été complètement remplacé par la commande symfony new, qui fait partie du Symfony CLI. N’utilisez plus l’ancien installateur.
