Symfony CLI : la commande qui change tout (cheatsheet)
La CLI Symfony est l'outil en ligne de commande officiel qui simplifie radicalement le quotidien des developpeurs Symfony. Serveur local, gestion des certificats TLS, verification de securite - cette cheatsheet regroupe toutes les commandes essentielles, classees par usage.
Installation de la CLI
Avant d'utiliser les commandes ci-dessous, installez la CLI sur votre systeme :
# macOS (Homebrew)
brew install symfony-cli/tap/symfony-cli
# Linux (APT)
curl -1sLf 'https://dl.cloudsmith.io/public/symfony/stable/setup.deb.sh' | sudo -E bash
sudo apt install symfony-cli
# Windows (Scoop)
scoop install symfony-cli
# Verification
symfony version
Si vous debutez avec Symfony, notre guide d'installation complet couvre tous les prerequis en detail.
Commandes de creation de projet
Ces commandes servent a initialiser un nouveau projet Symfony. Elles remplacent avantageusement composer create-project en ajoutant des verifications automatiques.
# Creer un projet webapp (Twig, Doctrine, Security...)
symfony new mon-site --webapp
# Creer un projet minimal (skeleton)
symfony new mon-api
# Specifier la version de Symfony
symfony new mon-site --version=7.2
# Creer un projet avec une version LTS
symfony new mon-site --version=lts
# Utiliser un autre template
symfony new mon-site --demo
Le flag --webapp est le plus courant pour les sites web complets. Il installe automatiquement les bundles les plus utilises. Pour savoir quelle version LTS choisir, consultez notre article sur les versions Symfony LTS en 2026.
Serveur local de developpement
Le serveur integre a la CLI est probablement sa fonctionnalite la plus utilisee. Il genere automatiquement un certificat TLS local pour travailler en HTTPS sans configuration.
# Demarrer le serveur (premier plan, avec logs)
symfony serve
# Demarrer en arriere-plan (daemon)
symfony serve -d
# Specifier un port
symfony serve --port=8080
# Specifier la version de PHP
symfony serve --php-version=8.3
# Arreter le serveur daemon
symfony server:stop
# Voir le statut du serveur
symfony server:status
# Consulter les logs du serveur
symfony server:log
# Ouvrir le projet dans le navigateur
symfony open:local
Le serveur detecte automatiquement si votre projet utilise un public/ directory et le configure comme document root. Il gere aussi le routing vers index.php pour les URLs clean de Symfony.
Certificats TLS locaux
Pour que le HTTPS local fonctionne sans alertes du navigateur, la CLI installe une autorite de certification locale :
# Installer l'autorite de certification locale
symfony server:ca:install
# Voir les informations du certificat CA
symfony server:ca:show
# Desinstaller le CA local (rare)
symfony server:ca:uninstall
Cette operation est necessaire une seule fois par machine. Tous vos projets Symfony beneficieront ensuite du HTTPS local automatiquement.
Verification des prerequis et securite
Ces commandes diagnostiques vous evitent de perdre du temps sur des problemes de configuration :
# Verifier que PHP et les extensions requises sont installes
symfony check:requirements
# Auditer les vulnerabilites des dependances
symfony check:security
# Lister les versions PHP disponibles sur le systeme
symfony local:php:list
# Afficher la configuration PHP active
symfony local:php:config
L'audit de securite (check:security) interroge la base de donnees FriendsOfPHP/security-advisories. Integrez-le dans votre CI/CD - une dependance vulnerable ne devrait jamais atteindre la production.
Proxy local et noms de domaine
Le proxy local permet d'acceder a vos projets via des noms de domaine plutot que des ports. C'est particulierement utile quand vous travaillez sur plusieurs projets simultanement.
# Demarrer le proxy
symfony proxy:start
# Attacher un domaine au projet courant
symfony proxy:domain:attach mon-site
# Resultat : https://mon-site.wip accessible dans le navigateur
# Lister les domaines configures
symfony proxy:domain:list
# Detacher un domaine
symfony proxy:domain:detach mon-site
# Arreter le proxy
symfony proxy:stop
# Voir le statut du proxy
symfony proxy:status
Le suffixe par defaut est .wip (Work In Progress). Votre projet devient accessible a https://mon-site.wip - avec TLS fonctionnel. C'est nettement plus lisible que localhost:8000, localhost:8001, etc.
Execution de commandes PHP et console
La CLI Symfony peut servir de wrapper autour de PHP pour garantir que la bonne version est utilisee :
# Executer une commande avec la bonne version de PHP
symfony php -v
symfony php bin/console cache:clear
# Equivalent de "php bin/console" avec la version PHP du projet
symfony console cache:clear
symfony console debug:router
symfony console make:controller
# Executer Composer avec la bonne version de PHP
symfony composer install
symfony composer require doctrine/orm
La commande symfony console est un raccourci pour symfony php bin/console. Elle garantit que c'est la version PHP definie dans .php-version qui est utilisee, pas celle du systeme.
Gestion de la version PHP par projet
Chaque projet peut specifier sa version de PHP via un fichier a la racine :
# Creer le fichier .php-version
echo "8.3" > .php-version
# Verifier quelle version sera utilisee
symfony local:php:list
# La CLI utilisera desormais PHP 8.3 pour ce projet
symfony php -v
# PHP 8.3.x
C'est essentiel quand vous maintenez des projets legacy en PHP 8.1 et de nouveaux projets en PHP 8.3 sur la meme machine.
Variables d'environnement et secrets
# Lister les variables d'environnement du projet
symfony var:export
# Exposer les variables dans le shell courant
eval $(symfony var:export)
# Gestion des secrets (Symfony Secrets)
symfony console secrets:set DATABASE_URL
symfony console secrets:list
symfony console secrets:reveal DATABASE_URL
Commandes cloud (Platform.sh / Upsun)
La CLI integre des commandes pour les plateformes de deploiement compatibles. Ces commandes ne sont utiles que si vous deployez sur Platform.sh ou Upsun :
# Se connecter a la plateforme
symfony cloud:login
# Lister les projets
symfony cloud:project:list
# Deployer
symfony cloud:deploy
# Voir les logs de production
symfony cloud:log
# Ouvrir le tunnel SSH
symfony cloud:tunnel:open
# Se connecter en SSH
symfony cloud:ssh
Pour le deploiement sur vos propres serveurs, notre checklist de deploiement Symfony couvre les configurations Apache, Nginx et Docker.
Commandes utilitaires
# Ouvrir la documentation Symfony dans le navigateur
symfony open:docs
# Voir la version de la CLI
symfony version
# Mettre a jour la CLI (self-update)
symfony self:update
# Afficher l'aide d'une commande
symfony help serve
symfony serve --help
Recapitulatif : les 10 commandes a retenir
Si vous ne devez retenir que l'essentiel, voici les commandes que vous utiliserez au quotidien :
symfony new mon-projet --webapp- creer un projetsymfony serve -d- demarrer le serveur en arriere-plansymfony server:stop- arreter le serveursymfony console cache:clear- vider le cachesymfony console debug:router- lister les routessymfony console make:controller- generer un controllersymfony console make:entity- generer une entitesymfony check:security- audit de securitesymfony check:requirements- verifier les prerequissymfony local:php:list- voir les versions PHP
La CLI Symfony est un outil de productivite qui s'integre naturellement dans le workflow de tout developpeur PHP. Elle ne remplace pas la ligne de commande Symfony (bin/console), mais la complete avec des fonctionnalites cote infrastructure locale.
Besoin d'aide pour configurer votre environnement de developpement Symfony ou pour lancer un projet ? En tant que developpeur freelance specialise Symfony, base a Metz et Strasbourg, je peux vous accompagner. Consultez mes services ou decouvrez mes tarifs, et contactez-moi pour discuter de votre projet.
