Jobeet FR

Le tutoriel pour Symfony2 en français

Pleine page

Dans ce premier chapitre, nous allons installer l'environnement de développement, installer Symfony2 et afficher une page de l'application dans un navigateur web. Tout d'abord, vous devez vérifier que votre ordinateur dispose d'un environnement de travail pour le développement web. Au minimum, vous avez besoin d'un serveur web (Apache, par exemple), un moteur de base de données (MySQL), et PHP 5.3.2 ou plus récent.


Télécharger et installer Symfony2

Préparez un répertoire sur votre serveur web où vous souhaitez installer le nouveau projet. Nous nommerons ce répertoire jobeet comme le nom de notre futur site web. Ensuite, allez à http://symfony.com/download, choisissez "Symfony Standard" (la version avec les dépendances) et téléchargez-le (au moment de la rédaction de ce tutoriel, la dernière version de Symfony était 2.0.11). Après le téléchargement, décompressez l'archive et copiez le contenu du répertoire "Symfony" dans celui de votre projet. Vous devriez avoir quelque chose comme ceci:


Configuration du serveur web

Une bonne pratique est de mettre à la racine uniquement les fichiers qui doivent être accessibles par un navigateur web, comme les feuilles de style, les fichiers javascripts et les images. Par défaut, il est recommandé de stocker ces fichiers dans le sous-répertoire /web du projet.

Afin de configurer Apache pour votre nouveau projet, localisez et ouvrez le fichier de configuration httpd.conf et ajoutez la configuration suivante:

<VirtualHost *:80>
	ServerName jobeet.local
	DocumentRoot /home/dragos/work/jobeet/web
	DirectoryIndex app.php
	ErrorLog /var/log/apache2/jobeet-error.log
	CustomLog /var/log/apache2/jobeet-access.log combined
	<Directory "/home/dragos/work/jobeet/web">
		AllowOverride All
		Allow from All
	</Directory>
</VirtualHost>

Modifiez la configuration ci-dessus en tenant compte de votre configuration, puis redémarrez votre serveur web.

Il s'agit de la méthode standard pour définir un nouvel hôte virtuel dans Apache. Selon la configuration de votre serveur ou la version d'Apache, certaines choses peuvent être légèrement différentes. Par exemple, dans Ubuntu, vous devez créer un nouveau fichier dans le dossier /etc/apache2/sites-enabled/ nommé jobeet avec le contenu ci-dessus.

Le nom de domaine jobeet.local utilisé dans la configuration d'Apache doit être déclaré localement. Si vous utilisez un système Linux, il doit être fait dans le fichier /etc/hosts. Si vous utilisez Windows, ce fichier se trouve dans le dossier C:\WINDOWS\system32\drivers\etc\. Ajoutez la ligne suivante:

127.0.0.1 jobeet.local

Test de l'installation Symfony2

Après le redémarrage d'Apache, ouvrez votre navigateur et tapez http://jobeet.local/app_dev.php. Vous devriez voir la page suivante:

Pour éviter de vous arracher les cheveux un peu plus tard, vérifiez que votre configuration peut exécuter un projet Symfony2 en pointant sur l'adresse suivante: http://jobeet.local/config.php. Assurez-vous que vous n'avez pas de problème majeur mentionné, et suivez les recommandations facultatives énumérées (le cas échéant).


La console Symfony2

Tout comme Symfony 1.x, Symfony2 est livré avec l'outil composant de la console que vous allez utiliser pour différentes tâches. Pour voir une liste des choses qu'il peut faire pour vous, tapez à l'invite de commande:

php app/console list

Création du paquet Application

Comme vous le savez, un projet Symfony2 est composé de paquets. Même le framework Symfony est un paquet. Pour créer un nouveau paquet pour notre application, exécutez la ligne de commande:

php app/console generate:bundle --namespace=Ens/JobeetBundle --format=yml

Le générateur va vous poser quelques questions avant de générer le paquet. Voici les questions et les réponses (toutes sauf une sont les réponses par défaut):

Bundle namespace [Ens/JobeetBundle]: Ens/JobeetBundle
Bundle name [EnsJobeetBundle]: EnsJobeetBundle
Target directory [/home/dragos/work/jobeet/src]: /home/dragos/work/jobeet/src
Configuration format (yml, xml, php, or annotation) [yml]: yml
Do you want to generate the whole directory structure [no]? yes
Do you confirm generation [yes]? yes
Confirm automatic update of your Kernel [yes]? yes
Confirm automatic update of the Routing [yes]? yes

Videz le cache après avoir créé le nouveau paquet avec:

php app/console cache:clear --env=prod
php app/console cache:clear --env=dev

Le nouveau paquet Jobeet peut maintenant être trouvé dans le répertoire src du projet: src/Ens/JobeetBundle. Le générateur de paquet a créé un DefaultController avec une action index. Vous pouvez accéder à celui-ci dans votre navigateur: http://jobeet.local/hello/jobeet ou http://jobeet.local/app_dev.php/hello/jobeet


Les environnements

Comme Symfony 1.x, Symfony2 a aussi des environnements différents. Si vous regardez dans le répertoire /web du projet, vous verrez deux fichiers php: app.php et app_dev.php. Ces fichiers sont appelés contrôleurs frontaux, toutes les requêtes de l'application se font à travers eux. Le fichier app.php est pour l'environnement de production et app_dev.php est utilisé par les développeurs Web quand ils travaillent sur l'application dans l'environnement de développement. L'environnement de développement sera très utile, car il vous montrera toutes les erreurs et avertissements via la Web Debug Toolbar - le meilleur ami du développeur.


Chapitre suivant


Une question ? Une réaction ?

comments powered by Disqus