Vous êtes sur la page 1sur 5

18/07/2022 07:14 Installez Symfony 5 - Construisez un site web à l’aide du framework Symfony 5 - OpenClassrooms

Accueil > Cours > Construisez un site web à l’aide du framework Symfony 5 > Installez Symfony 5

Construisez un site web à l’aide du framework Symfony 5

20 heures  Moyenne
Mis à jour le 08/07/2022

Gérez vos données avec Doctrine ORM

 

Installez Symfony 5

Initialement, ce chapitre était placé à la toute fin du cours.

Pour des raisons pratiques et afin de vous permettre d'appliquer directement les notions vues dans le cours, nous avons déplacé le chapitre d'insta

Installez le framework Symfony

Normalement, PHP 7.2 doit déjà être installé sur votre environnement de travail, car c'est un prérequis pour ce cours. Si ce n'est pas le cas, je vous i

Ensuite, regardons ensemble comment installer Composer et le framework Symfony.

Installation de Composer
Nous allons installer Composer sur notre ordinateur. Nous pouvons l'installer de la même façon, quel que soit notre système d'exploitation, dès lors que

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"


php -r "if (hash_file('sha384', 'composer-setup.php') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13
php composer-setup.php
php -r "unlink('composer-setup.php');"

N'hésitez pas à regarder directement sur le site de Composer comment faire l'installation, puisqu'elle peut être amenée à changer selon les versio

Ensuite, vérifiez rapidement que PHP et Composer sont bien disponibles dans votre invite de commande :

➜ php -v
➜ composer --version

Ces deux commandes doivent retourner un résultat.

Installation du framework Symfony


Depuis la version 4 du framework Symfony, il n'y a plus vraiment de distribution officielle.

La vision de l'équipe qui maintient le projet, c'est de fournir des squelettes applicatifs légers, et de laisser la responsabilité aux développeurs de décider q

Officiellement, il existe deux squelettes applicatifs :

skeleton: le squelette minimaliste pour démarrer un projet PHP, il est recommandé pour des applications en ligne de commande, par exemple.
website-skeleton : le squelette recommandé pour faire des projets web, que je vous recommande comme base de travail.

Il existe un projet de démonstration appelé Symfony Demonstration. Dans ce projet, vous trouverez quelques contrôleurs, quelques vues intégrées avec

Bien que cela ne soit pas recommandé par le projet Symfony, dans la pratique, de nombreux développeurs utilisent ce projet d'apprentissage com

Pour installer ces squelettes, l'option recommandée est d'utiliser un logiciel appelé Symfony CLI.

Symfony CLI

https://openclassrooms.com/fr/courses/5489656-construisez-un-site-web-a-l-aide-du-framework-symfony-5/7171301-installez-symfony-5 1/5
18/07/2022 07:14 Installez Symfony 5 - Construisez un site web à l’aide du framework Symfony 5 - OpenClassrooms
Disponible sur Windows, GNU/Linux et Mac OS X, ce logiciel fournit trois fonctionnalités :

La création d'applications Symfony à partir des squelettes applicatifs ;


Un serveur local pour exécuter votre projet sur votre poste ;
Un outil pour vérifier les problèmes de sécurité (que l'on abordera dans le chapitre "Qu'est-ce qu'un code de qualité ?")

L'installation du squelette "Website Skeleton" se fait à l'aide de Symfony CLI :

➜ symfony new --full mon-super-projet

Ce logiciel utilise Composer pour télécharger les sources du projet, voici comment vous pourriez obtenir le même résultat sans le logiciel Symfony CLI :

➜ composer create-project symfony/website-skeleton mon-super-projet

Démarrage de l'application
Si en production on utilise un serveur web comme Apache ou Nginx, en développement, nous pouvons utiliser le serveur local de PHP. Pour cela, le fram

➜ cd mon-super-projet
➜ symfony server:start

Si le port n'est pas occupé, l'application sera alors disponible à cette adresse : http://localhost:8000/ . Pour stopper ce serveur local, utilisez la comm

Page d'accueil du fram

Par défaut, puisque vous n'avez aucun contrôleur ni aucune route configurée, le framework vous présente une page avec un lien vers la documentation

Structure du framework Symfony


Lors de ce cours, nous allons parcourir l'essentiel de l'architecture d'une application Symfony, il est important d'avoir une vision d'ensemble du framewo

➜ mon-super-projet: tree -L 1
.
├── bin/
├── composer.json
├── composer.lock
├── config/
├── phpunit.xml.dist
├── migrations/
├── public/
├── src/
├── symfony.lock
├── templates/
├── tests/
├── translations/
├── var/
└── vendor/

10 directories, 4 files

https://openclassrooms.com/fr/courses/5489656-construisez-un-site-web-a-l-aide-du-framework-symfony-5/7171301-installez-symfony-5 2/5
18/07/2022 07:14 Installez Symfony 5 - Construisez un site web à l’aide du framework Symfony 5 - OpenClassrooms

Le dossier "bin"
Ce dossier contient les exécutables disponibles dans le projet, que ce soit ceux fournis avec le framework (la console Symfony) ou ceux des dépendances

Le dossier "config"
Ce dossier a fait l'objet d'un chapitre complet de ce cours. Il contient toute la configuration de votre application, que ce soit le framework, les dépendanc

Ne pas oublier qu'il est possible d'adapter la configuration du framework en fonction de l'environnement, et qu'une partie de la configuration se tr

Le dossier "public"
Par défaut, il ne contient que le contrôleur frontal de votre application, le fichier dont la responsabilité est de recevoir toutes les requêtes des utilisateurs

Seul ce dossier doit être accessible de l'extérieur.

Le dossier "migrations"
Dans ce dossier et si vous manipulez une base de données, alors vous trouverez les migrations de votre projet générées à chaque changement que vous
avec Doctrine ORM".

Le dossier "src"
C'est ici que se trouve votre application ! Contrôleurs, formulaires, écouteurs d'événements, modèles et tous vos services doivent se trouver dans ce doss

➜ src tree -L 1
.
├── Controller
├── Entity
├── Kernel.php
└── Repository

Si vous conservez cette architecture, vos services seront correctement autoconfigurés et construits. Sinon, vous devrez adapter la configuration fou

Le dossier "tests"
Dans ce dossier se trouvent les tests unitaires, d'intégration et d'interfaces.

Par défaut, l'espace de nom du dossier tests est App\Tests et celui du dossier src est App .

Le dossier "templates"
Ce dossier contient les gabarits qui sont utilisés dans votre projet. Par exemple, si dans un contrôleur on fait :

1 <?php
2
3 $this->render('foo.html.twig');

Alors le gabarit sera localisé dans le dossier templates templates/foo.html.twig .

Le dossier "translations"
Si ce sujet n'a pas été abordé dans ce cours, Symfony fournit un composant appelé Translation capable de gérer de nombreux formats de traductions, d

Le dossier "var"
Ce dossier contient trois choses principalement :

les fichiers de cache dans le dossier cache ;


les fichiers de log dans le dossier log ;
et parfois, si le framework est configuré pour gérer les sessions PHP dans le système de fichiers, on trouve le dossier sessions.

Les fichiers de cache et de log sont créés en fonction de l'environnement exécuté :

➜ var tree -L 2
.
├── cache
│ └── dev
└── log
└── dev.log

https://openclassrooms.com/fr/courses/5489656-construisez-un-site-web-a-l-aide-du-framework-symfony-5/7171301-installez-symfony-5 3/5
18/07/2022 07:14 Installez Symfony 5 - Construisez un site web à l’aide du framework Symfony 5 - OpenClassrooms

Le dossier "vendor"
Ce dossier contient votre chargeur de dépendances (ou "autoloader") et l'ensemble des dépendances de votre projet PHP installées à l'aide de Compose

Introduction à Symfony Flex


D’un point de vue technique, Symfony Flex est juste un plugin Composer. Flex est capable d'écouter les événements Composer, que ce soit l'installation

Parmi les tâches qu'il est capable de réaliser :

appliquer une configuration par défaut pour un plugin Symfony ;


créer des fichiers/dossiers ;
mettre à jour de fichiers (par exemple le fichier config/bundles.php).

Pour cela, Symfony Flex fonctionne à l'aide d'un système de "recettes" qui sont disponibles dans deux dépôts : un dépôt officiel maintenu par l'équipe Sy

Imaginons par exemple que vous souhaitiez créer une API REST.

Eh bien, avec Flex installé, il vous suffit d'exécuter la commande suivante :

➜ composer require api

Et à l'aide de cette commande seulement, vous aurez une API REST installée et configurée, ainsi que sa documentation au format Swagger. (Si ce type d

Si Flex vous intéresse, il existe un article complet écrit en français mis à disposition par l'AFSY, l'Association Française des développeurs SYmfony.

En résumé
Pour installer Symfony, vous n'avez besoin que de deux choses : PHP et Composer. Mais on préfèrera installer le logiciel fourni par Symfony appelé
Il n'existe pas qu'une seule version du framework, mais plusieurs "squelettes applicatifs" en fonction de votre projet. Pour un projet web, le squele
Demonstration qui est le projet d'apprentissage du framework maintenu par l'équipe Symfony.
Symfony Flex est utilisé pour gérer la configuration de vos applications. Très simplement, c'est une extension de Composer qui va effectuer des a
Dans celles-ci, les responsables de projets définissent quelles actions complémentaires (ajouter de la configuration, créer un ou des fichiers, etc...) d

J'AI TERMINÉ CE CHAPITRE E

 CONSTRUISEZ UN SITE WEB À L’AIDE DU FRAMEWORK SYMFONY 5

Le professeur
Mickaël Andrieu
Consultant et Formateur Web / Data

OPENCLASSROOMS

OPPORTUNITÉS

AIDE

POUR LES ENTREPRISES

EN PLUS

https://openclassrooms.com/fr/courses/5489656-construisez-un-site-web-a-l-aide-du-framework-symfony-5/7171301-installez-symfony-5 4/5
18/07/2022 07:14 Installez Symfony 5 - Construisez un site web à l’aide du framework Symfony 5 - OpenClassrooms

Français

https://openclassrooms.com/fr/courses/5489656-construisez-un-site-web-a-l-aide-du-framework-symfony-5/7171301-installez-symfony-5 5/5

Vous aimerez peut-être aussi