TP 2 >>

1. Création du site web





Créez un répertoire ou vous placerez vos projets Symfony. En ce qui me concerne il s'agit de ~/dev/symfony.

Dans ce répertoire exécutez la commande :

richer@zentopia:\$~/dev/symfony/$ symfony new dvm --version="7.1.*" --webapp
* Creating a new Symfony project with Composer
  WARNING: Unable to find Composer, downloading one. It is recommended to install Composer yourself at https://getcomposer.org/download/
  (running /home/richer/.symfony5/composer/composer.phar create-project symfony/skeleton /home/richer/dev/symfony/dvm  --no-interaction)

* Setting up the project under Git version control
  (running git init /home/richer/dev/symfony/dvm)


 [OK] Your project is now ready in /home/richer/dev/symfony/dvm                                   
 

Cette commande crée un répertoire dvm et installe les librairies pour le développement d'une application web en version 7.1 de Symfony.

Se rendre dans le répertoire et afficher son contenu :

richer@zentopia:\$~/dev/symfony/$ cd dvm 
richer@zentopia:\$~/dev/symfony/dvm$ ls

Un simple projet contient plus de 270 répertoires et plus de 1500 fichiers. Voici l'organisation du projet dans le répertoire qui a été créé :


richer@zentopia:~/dev/symfony/dvm\$ tree -L 1
.
├── bin
├── composer.json
├── composer.lock
├── config
├── public
├── src
├── symfony.lock
├── templates
├── var
├── vendor
└── .env
composer.json
contient toutes les dépendances du projet, notamment si on ouvre ce fichier on va trouver la version de PHP qu'il est nécessaire d'utiliser ainsi que la version de chaque package installé
composer.lock
enregistre les versions exactes des bibliothèques (ou packages) installées lors de l'exécution de la commande composer install ou composer update. Cela permet notamment de garantir que tous les développeurs d'un projet utilisent exactement les mêmes versions des dépendances.
var/
contient des fichiers de log et des fichiers temporaires
vendor/
contient les classes Symfony et les applications comme composer
bin/
contient un fichier console qui permet de déboguer l'application
config/
contient les éléments de configuration de l'application

Les fichiers et répertoires sur lesquels vous travaillerez principalement sont :

.env
contient une partie de la configuration du projet notamment l'accès à la base de données
src/
contient le code du site web ou de l'application que l'on développe notamment le code PHP et les contrôlleurs
public/
contient un seul fichier index.php qui est le point d'entrée de toutes les requêtes faites sur votre site, vous pouvez y placer les assets : les images, les fontes liées à votre site, les fichiers et packages javascript
templates
contient ce qui est lié à Twig qui permet de gérer le rendu des pages HTML de manière générique

Par la suite nous utiliserons parfois la console afin d'exécuter certaines actions comme les migrations vers la base de données. L'utilisation de la console peut être réalisée par :

php bin/console
# ou
symfony console










 
TP 2 >>