LogoLogo
Docs officielsTutos officiels
version-4.1
version-4.1
  • Symfony
  • Introduction
  • Eco-Système de Symfony
  • Architecture de Symfony
  • Première page avec Symfony
  • Controller et Routes
  • Vues - TWIG
  • Modèles - Entités - ORM
  • Relations entre entités
  • Formulaires
  • console
  • Sécurité
  • Services et Injection de dépendances
  • Les Bundles
  • Mise en production
  • TP (LP-DEV, novices)
  • TP (LP-DEV, moins novices)
  • FAQ
Propulsé par GitBook
Sur cette page
  • Mise en production avec un FTP
  • Mise en production avec Git
  • Première mise en ligne
  • Mise à jour d'un projet existant
  • Opération à réaliser après la mise en ligne des fichiers
  • 1) Configurer vos variables d'environnement
  • 2) Installer/Mettre à jour les Vendors¶
  • 3) Nettoyer le cache de Symfony¶
  • 4) Mettre à jour votre base de données

Cet article vous a-t-il été utile ?

Exporter en PDF

Mise en production

Mettre en production un projet réalisé avec Symfony

PrécédentLes BundlesSuivantTP (LP-DEV, novices)

Dernière mise à jour il y a 5 ans

Cet article vous a-t-il été utile ?

La mise en production d'un projet avec Symfony est simple, mais implique de suivre les différentes étapes.

Mise en production avec un FTP

Pour effectuer une mise en ligne de votre projet avec un logiciel FTP, il faut télécharger sur le serveur les fichiers ou répertoires suivants.

Pour une mise à jour d'un produit existant, l'upload de src/ et templates/ peut suffire, selon ce que vous avez modifié sur votre projet.

Il vous faut ensuite exécuter les différentes opérations de mise en ligne de la partie

Mise en production avec Git

Première mise en ligne

Pour une première mise en ligne vous pouvez faire un clone de votre dépôt.

git clone https://...

Cette commande va créer un nouveau répertoire et copier les fichiers de votre dépôt sur votre serveur.

Mise à jour d'un projet existant

Pour mettre à jour un projet déjà existant sur votre serveur, et géré avec Git, vous devez executer la commande suivante

git pull origin master

Où master est la branche qui contient la version de votre projet que vous souhaitez installer.

Opération à réaliser après la mise en ligne des fichiers

1) Configurer vos variables d'environnement

Si vous n'avez qu'un fichier .env, vous devez le mettre à jour avec les informations de votre serveur de production (base de données, éventuellement serveur de mail, ...).

C'est également dans ce fichier d'environnement que vous devez définir que votre projet est en production et plus en développement :

APP_ENV=prod #au lieu de APP_ENV=dev

En production Symfony utilise un système de cache, n'affiche plus le profiler ou les messages d'erreur, mais utilise les pages 404, 500 que vous avez définies.

Les erreurs peuvent être sauvegardées dans des fichiers de log, selon votre configuration.

Toutes les configuration se trouvant dans config/packages/dev sont ignorées et celles se trouvant dans config/packages/prod sont utilisées.

Le répertoire vendor n'est jamais installé ou téléchargé, quelque soit la méthode que vous utilisez. Il faut donc soit le créer (une première installation), soit le mettre à jour (si vous avez ajouté des bundles ou que vous souhaitez obtenir la dernière version des bundles que vous utilisez)

composer install --no-dev --optimize-autoloader

L'information "--no-dev" permet de ne pas installer les bundles qui ne servent qu'en développement (make, profiler, ...). Si vous souhaitez être en développement sur ce serveur, vous devez retirer cette instruction.

En production Syfmony utilise un système de cache très performant. Mais cela peut empêcher de voir vos dernières modifications. Il faut donc s'assurer de nettoyer le cache de Symfony.

La commande suivante permet de supprimer le cache :

 APP_ENV=prod APP_DEBUG=0 php bin/console cache:clear

4) Mettre à jour votre base de données

Si vous avez ajouté des éléments dans vos entités, vous devez mettre à jour votre base de données. Pour cela vous pouvez executer la commande suivante :

bin/console doctrine:schema:update -f

Il vous faut ensuite exécuter les différentes opérations de mise en ligne de la partie

Il vous faut ensuite exécuter les différentes opérations de mise en ligne de la partie

Symfony propose une gestion poussée des environnements, et vous pourriez avoir plusieurs fichiers en fonction du contexte :

2) Installer/Mettre à jour les Vendors

3) Nettoyer le cache de Symfony

https://symfony.com/doc/current/configuration.html#configuration-environments
¶
¶
Mise en production
Mise en production
Mise en production