Aller au contenu

Symfony CLI - Référence Complète

Version 5.4.19 (© 2017-2026 Symfony SAS)

Symfony CLI est un outil en ligne de commande qui aide les développeurs à gérer leurs projets Symfony, du développement local à l’infrastructure distante.


Utilisation du CLI (sans avoir besoin de Composer)

Avec Symfony CLI, vous pouvez gérer un projet Symfony sans avoir Composer installé localement, car Symfony CLI intègre son propre système de gestion des dépendances.

Voici comment procéder :

1. Créer un nouveau projet Symfony sans Composer local

Cette commande :

symfony new mon-projet --full

2. Utiliser les commandes intégrées pour gérer les dépendances

Symfony CLI fournit des wrappers pour gérer les dépendances sans Composer local :

Commande Description
symfony composer install Installe les dépendances du projet (équivalent à composer install)
symfony composer require nom-du-package Ajoute une dépendance (équivalent à composer require)
symfony composer update Met à jour les dépendances (équivalent à composer update)

Exemple :

cd mon-projet
symfony composer require doctrine/orm

3. Comment ça fonctionne ?

Symfony CLI utilise son propre binaire Composer intégré (embarqué dans l’outil). Les dépendances sont installées dans le dossier vendor/ du projet, comme avec Composer classique. Par conséquent, aucune installation globale de Composer n’est nécessaire.

4. Avantages de cette méthode

5. Limites et précautions

Pas d’accès direct à Composer. Vous ne pouvez pas utiliser composer directement en ligne de commande (sauf via symfony composer). Pour des projets non-Symfony, Composer reste nécessaire.

-️ Dépendances système (important) :

6. Exemple de listes de commande

# Créer un projet
symfony new mon-projet --full

# se déplacer dans le projet
cd mon-projet

# ajouter une dépendance
symfony composer require symfony/orm-pack

# installer les dépendances
symfony composer install

# lancer le serveur Symfony
symfony serve

7. Alternative : Docker (si Symfony CLI ne suffit pas)

Si vous rencontrez encore des problèmes, utilisez Docker pour un environnement complet.


# Créer un projet avec Docker (Symfony CLI + Composer inclus)
docker run --rm -v $(pwd):/app symfonycli/symfony-cli new mon-projet --full

# Lancer le projet
cd mon-projet
docker run --rm -v $(pwd):/app -p 8000:8000 symfonycli/symfony-cli serve

Utilisation de base

symfony.exe [options globales] <commande> [options de commande] [arguments...]

Options globales

Option Description
–help, -h Affiche l’aide
–no-ansi Désactive la sortie ANSI
–ansi Force la sortie ANSI
–no-interaction Désactive toutes les interactions
–quiet, -q N’affiche aucun message
`-v vv
-V Affiche la version

Commandes disponibles

Exemple avec un projet Book (Livre) :

Commande Description
book:check-requirements, book:check Vérifie que vous avez toutes les pré-requis locales pour coder en suivant le livre “Symfony: The Fast Track”
book:checkout Récupère une étape du dépôt du livre “Symfony: The Fast Track”

En Local

Commande Description
local:check:requirements, check:requirements, check:req Vérifie les prérequis pour exécuter Symfony et donne des recommandations utiles pour optimiser PHP pour Symfony
local:check:security, security:check, check:security, local:security:check Vérifie les problèmes de sécurité dans les dépendances du projet
local:new, new Crée un nouveau projet Symfony
local:php:list Liste les versions PHP disponibles localement
local:php:refresh Actualise automatiquement la liste des versions PHP disponibles
local:proxy:domain:attach, proxy:domain:attach Attache un domaine local pour le proxy
local:proxy:domain:detach, proxy:domain:detach Détache des domaines du proxy
local:proxy:start, proxy:start Démarre le serveur proxy local (support des domaines locaux)
local:proxy:status, proxy:status Affiche le statut du serveur proxy local
local:proxy:stop, proxy:stop Arrête le serveur proxy local
local:run, run Exécute un programme avec des variables d’environnement définies selon le contexte actuel
local:server:ca:install, server:ca:install Crée une autorité de certification locale pour servir HTTPS
local:server:ca:uninstall, server:ca:uninstall Désinstalle l’autorité de certification locale
local:server:list, server:list Liste tous les serveurs web locaux configurés
local:server:log, server:log Affiche les logs du serveur web local
local:server:prod, server:prod Passe un projet en environnement de production Symfony
local:server:start, server:start, serve Lance un serveur web local
local:server:status, server:status Affiche le statut du serveur web local
local:server:stop, server:stop Arrête le serveur web local
local:var:expose-from-tunnel, var:expose-from-tunnel Expose localement les variables d’environnement du service de tunnel

projet

Commande Description
project:init, init Initialise un nouveau projet en utilisant des templates

Auto-référence (Self)

Commande Description
self:help, help, list Affiche l’aide pour une commande ou une catégorie de commandes
self:version, version Affiche la version de l’application

Variable

Commande Description
var:export Exporte les variables d’environnement selon le contexte actuel

Wrappers disponibles

Exécute PHP (la version dépend de la configuration du projet). Les variables d’environnement pour utiliser les relations Platform.sh ou les services Docker sont automatiquement définies.

Wrapper Description
composer Exécute Composer sans limite de mémoire
console Exécute la console Symfony (bin/console) pour le projet actuel
php, pecl, pear, php-fpm, php-cgi, php-config, phpdbg, phpize Exécute le binaire nommé en utilisant la version PHP configurée

Cloud

Commande Description
cloud:clear-cache, cloud:clearcache, cloud:cc Nettoie le cache de la CLI
cloud:docs Ouvre la documentation en ligne
cloud:multi Exécute une commande sur plusieurs projets
cloud:web Ouvre l’interface web

Activités (Activity)

Commande Description
cloud:activity:cancel Annule une activité
cloud:activity:get Affiche des informations détaillées sur une activité
cloud:activity:list, cloud:activities, cloud:act Liste les activités pour un environnement ou un projet
cloud:activity:log Affiche le journal d’une activité

Application (App)

Commande Description
cloud:app:config-get Affiche la configuration d’une application
cloud:app:list, cloud:apps Liste les applications dans le projet

Authentication (Auth)

Commande Description
cloud:auth:api-token-login Se connecte à Platform.sh en utilisant un jeton API
cloud:auth:browser-login, cloud:login Se connecte à Platform.sh via un navigateur
cloud:auth:info Affiche les informations de votre compte
cloud:auth:logout, cloud:logout Se déconnecte de Platform.sh

Sauvegardes

Commande Description
cloud:backup:create, cloud:backup, cloud:snapshot:create, cloud:environment:backup Crée une sauvegarde d’un environnement
cloud:backup:list, cloud:backups, cloud:snapshots, cloud:snapshot:list Liste les sauvegardes disponibles d’un environnement
cloud:backup:restore, cloud:environment:restore, cloud:snapshot:restore Restaure une sauvegarde d’un environnement

Certificats

Commande Description
cloud:certificate:add Ajoute un certificat SSL au projet
cloud:certificate:delete Supprime un certificat du projet
cloud:certificate:get Affiche un certificat
cloud:certificate:list, cloud:certificates, cloud:certs Liste les certificats du projet

Commits

Commande Description
cloud:commit:get Affiche les détails d’un commit
cloud:commit:list, cloud:commits Liste les commits

Base de données

Commande Description
cloud:db:dump, cloud:sql-dump, cloud:environment:sql-dump Crée un dump local de la base de données distante
cloud:db:size Estime l’utilisation du disque par une base de données
cloud:db:sql, cloud:sql, cloud:environment:sql Exécute une requête SQL sur la base de données distante

Domaines

Commande Description
cloud:db:dump, cloud:sql-dump, cloud:environment:sql-dump Crée un dump local de la base de données distante
cloud:db:size Estime l’utilisation du disque par une base de données
cloud:db:sql, cloud:sql, cloud:environment:sql Exécute une requête SQL sur la base de données distante

Environnement

Commande Description
cloud:environment:activate Active un environnement
cloud:environment:branch, cloud:branch Crée une branche d’un environnement
cloud:environment:checkout, cloud:checkout Récupère un environnement
cloud:environment:debug, environment:debug Active le mode debug pour un environnement
cloud:environment:delete, cloud:environment:deactivate Supprime un ou plusieurs environnements
cloud:environment:http-access, cloud:httpaccess Met à jour les paramètres d’accès HTTP pour un environnement
cloud:environment:info, cloud:environment:metadata Lit ou définit les propriétés d’un environnement
cloud:environment:init Initialise un environnement à partir d’un dépôt Git public
cloud:environment:list, cloud:environments, cloud:env Liste les environnements
cloud:environment:logs, cloud:log, cloud:logs Affiche les logs d’un environnement
cloud:environment:merge, cloud:merge Fusionne un environnement
cloud:environment:push, cloud:push, deploy, cloud:deploy Envoie le code vers un environnement
cloud:environment:redeploy, cloud:redeploy Redéploie un environnement
cloud:environment:relationships, cloud:relationships Affiche les relations d’un environnement
cloud:environment:scp, cloud:scp Copie des fichiers vers/depuis l’environnement actuel en utilisant scp
cloud:environment:ssh, cloud:ssh Se connecte en SSH à l’environnement actuel
cloud:environment:synchronize, cloud:sync Synchronise le code et/ou les données d’un environnement avec son parent
cloud:environment:url, cloud:url Affiche les URLs publiques d’un environnement
cloud:environment:xdebug, cloud:xdebug Ouvre un tunnel vers Xdebug sur l’environnement

Intégrations

Commande Description
cloud:integration:activity:get Affiche des informations détaillées sur une activité d’intégration
cloud:integration:activity:list, cloud:i:act, cloud:integration:activities Liste les activités pour une intégration
cloud:integration:activity:log Affiche le journal d’une activité d’intégration
cloud:integration:add Ajoute une intégration au projet
cloud:integration:delete Supprime une intégration du projet
cloud:integration:get Affiche les détails d’une intégration
cloud:integration:list, cloud:integrations Liste les intégrations du projet
cloud:integration:update Met à jour une intégration
cloud:integration:validate Valide une intégration existante

Métriques

Commande Description
cloud:metrics:disk-usage, cloud:disk Affiche l’utilisation du disque sur un service

Montage (Mount)

Commande Description
cloud:mount:download Télécharge des fichiers depuis un montage, en utilisant rsync
cloud:mount:list, cloud:mounts Liste les montages
cloud:mount:size Vérifie l’utilisation du disque des montages
cloud:mount:upload Upload des fichiers vers un montage, en utilisant rsync

Organisation

Commande Description
cloud:organization:billing:address Affiche ou modifie l’adresse de facturation d’une organisation
cloud:organization:billing:profile Affiche ou modifie le profil de facturation d’une organisation
cloud:organization:create Crée une nouvelle organisation
cloud:organization:delete Supprime une organisation
cloud:organization:info Affiche ou modifie les détails d’une organisation
cloud:organization:list, cloud:orgs, cloud:organizations Liste les organisations
cloud:organization:subscription:list, cloud:organization:subscriptions Liste les abonnements d’une organisation
cloud:organization:user:add Invite un utilisateur dans une organisation
cloud:organization:user:delete Supprime un utilisateur d’une organisation
cloud:organization:user:get Affiche un utilisateur d’une organisation
cloud:organization:user:list, cloud:organization:users Liste les utilisateurs d’une organisation
cloud:organization:user:update Met à jour un utilisateur d’une organisation

Projet

Commande Description
cloud:organization:billing:address Affiche ou modifie l’adresse de facturation d’une organisation
cloud:organization:billing:profile Affiche ou modifie le profil de facturation d’une organisation
cloud:organization:create Crée une nouvelle organisation
cloud:organization:delete Supprime une organisation
cloud:organization:info Affiche ou modifie les détails d’une organisation
cloud:organization:list, cloud:orgs, cloud:organizations Liste les organisations
cloud:organization:subscription:list, cloud:organization:subscriptions Liste les abonnements d’une organisation
cloud:organization:user:add Invite un utilisateur dans une organisation
cloud:organization:user:delete Supprime un utilisateur d’une organisation
cloud:organization:user:get Affiche un utilisateur d’une organisation
cloud:organization:user:list, cloud:organization:users Liste les utilisateurs d’une organisation
cloud:organization:user:update Met à jour un utilisateur d’une organisation

Dépôt (repository)

Commande Description
cloud:repo:cat Lit un fichier dans le dépôt du projet
cloud:repo:ls Liste les fichiers dans le dépôt du projet
cloud:repo:read, cloud:read Lit un répertoire ou un fichier dans le dépôt du projet

Route

Commande Description
cloud:route:get Affiche des informations détaillées sur une route
cloud:route:list, cloud:routes, cloud:environment:routes Liste toutes les routes pour un environnement

Services

Commande Description
cloud:service:list, cloud:services Liste les services dans le projet
cloud:service:mongo:dump, cloud:mongodump Crée une archive binaire de dump de données depuis MongoDB
cloud:service:mongo:export, cloud:mongoexport Exporte des données depuis MongoDB
cloud:service:mongo:restore, cloud:mongorestore Restaure une archive binaire de dump de données dans MongoDB
cloud:service:mongo:shell, cloud:mongo Utilise le shell MongoDB
cloud:service:redis-cli, cloud:redis Accède à la CLI Redis

Certificat SSH (cloud)

Commande Description
cloud:ssh-cert:load Génère un certificat SSH

Clé SSH (cloud)

Commande Description
cloud:ssh-key:add Ajoute une nouvelle clé SSH
cloud:ssh-key:delete Supprime une clé SSH
cloud:ssh-key:list, cloud:ssh-keys Liste les clés SSH de votre compte

Abonnement

Commande Description
cloud:subscription:info Lit ou modifie les propriétés d’un abonnement

Tunnel

Commande Description
cloud:tunnel:close Ferme les tunnels SSH
cloud:tunnel:info Affiche les informations de relation pour les tunnels SSH
cloud:tunnel:list, cloud:tunnels Liste les tunnels SSH
cloud:tunnel:open Ouvre des tunnels SSH vers les relations d’une application
cloud:tunnel:single Ouvre un tunnel SSH unique vers une relation d’application

Utilisateur

Commande Description
cloud:user:add Ajoute un utilisateur au projet
cloud:user:delete Supprime un utilisateur du projet
cloud:user:get, cloud:user:role Affiche le(s) rôle(s) d’un utilisateur
cloud:user:list, cloud:users Liste les utilisateurs du projet
cloud:user:update Met à jour le(s) rôle(s) d’un utilisateur sur un projet

Variables

Commande Description
cloud:variable:create Crée une variable
cloud:variable:delete Supprime une variable
cloud:variable:get, cloud:vget Affiche une variable
cloud:variable:list, cloud:variables, cloud:var Liste les variables
cloud:variable:update Met à jour une variable

Worker

Commande Description
cloud:worker:list, cloud:workers Liste tous les workers déployés