Catégories
Développement

Installation d’eclipse et de symfony2

Après la configuration de notre poste de travail sous linux, rien de tel que d’installer un IDE.

Ici j’ai choisi eclipse que je trouve très complet et simple à prendre en main. Je vous expliquer également comment installer le framework Symfony2

Installation d’eclipse

Le package existe mais nous allons tout de même essayer de l’installer à la main

Télécharger l’archive sur le site officiel d’eclipse.

Extraire le fichier. Il doit normalement s’y trouver un installer qui va vous aider à configurer l’installation.

On choisit ici « eclipse IDE for php developers »

Installation folder :
La plupart du temps le chemin sera votre home/eclipse/php-versiondeclipse

S’il n y avait pas l’installer, il suffisait d’extraire le dossier dans le chemin d’installation.

Pendant l’installation il est possible qu’il y ait des licences à accepter.

Après lancement du logiciel « go to workbench ».

Installation de symfony2

Ici, j’ai choisis d’installer une Symfony2 sur lequel j’ai pu travaillé.

Symfony3 est disponible mais pour l’instant je préfère réinstaller la 2 et si besoin upgrader la version.

En ligne de commande, vérifier la version de php

php -v

Pour télécharger symfony2, il est recommandé de télécharger le .phar (petit fichier php executable) qui se trouve à l’adresse symfony.com/installer

Il faut ensuite le déplacer dans son répertoire web (en l’occurence ici dans /var/www/)

Si on le souhaite on peut également le mettre dans son répertoire home et ensuite créer un lien symbolique vers /var/www car le dossier /var/ est en général limité en taille.

La documentation de Symfony est également très complète et donne la démarche à suivre pour l’installer, ainsi que les droits sur les dossiers/fichiers.

Vous pouvez aussi le télécharger via la ligne de commande avec curl qu’on installera donc avec

apt install curl

Puis :

sudo mkdir -p /usr/local/bin
sudo curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony
sudo chmod a+x /usr/local/bin/symfony

Symfony devient alors une commande.

Possibilité également d’utiliser composer.

Ensuite pour créer un nouveau projet symfony il suffit alors de faire la commande suivante, dans le répertoire où vous souhaitez créer le projet :

symfony new nomDuProjet

On peut également préciser le numéro de version si besoin (en l’occurence ici la version current est la 3 et j’aimerai travailler sur la 2)

symfony new nomDuProjet 2.8

Ensuite sur Eclipse, allez sur l’onglet de gauche, clic droit => new project

Choisissez le dossier créé par symfony.

Il est possible qu’une erreur apparaisse :  « Invalid project contents directory » , vérifier alors les droits des dossiers du projet. Si eclipse ne peut pas modifier dans ce dossier il ne peut donc pas apparaître dans eclipse. (ici on fera donc un chown -R votreUser:votreUser /home/repertoiredeSymfony/NomDuProjet)

On crée un virtualhost pour pouvoir accéder au projet sur navigateur

– fichier /etc/hosts

→ on rajoute une entrée : 127.0.0.1 projet.local

– fichier /etc/apache2/sites-available/000-default.conf

→ on rajoute un virtual host

<VirtualHost *:80>

	ServerAdmin webmaster@localhost
	ServerName projet.local (adresse a remttre dans le fichiers hosts)

	<Directory /home/repertoiredeSymfony/nomDuProjet>

	Options Indexes FollowSymLinks
	AllowOverride all
	Require all granted
	</Directory>

	DocumentRoot /home/repertoiredeSymfony/nomDuProjet

	ErrorLog ….
	CustomLog ...

</VirtualHost>

 

Si on tombe sur une page forbidden, il faut alors ajuster les droits des dossiers app et cache

rm -rf app/cache/*
rm -rf app/logs/*

HTTPDUSER=`ps axo user,comm | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\ -f1`

sudo setfacl -R -m u:"$HTTPDUSER":rwX -m u:`whoami`:rwX app

sudo setfacl -dR -m u:"$HTTPDUSER":rwX -m u:`whoami`:rwX var

 

sur Ubuntu le user http est www-data

Attention, sur symfony2 les fichiers caches et logs se trouvent dans app et dans la version 3, dans le dossier var

Redémarrer votre serveur apache

Il est aussi possible d’avoir une page symfony mais de tomber sur l’erreur « no route found for « get /app.php/ « 

Dans ce cas-là il faudra activer le module de rewriting utilisé dans symfony

On utilise alors la commande a2enmod pour activer un module.

Ceux qui sont disponibles sont dans /etc/apache2/mods-available

On tape donc la commande

sudo a2enmod rewrite

Cela créera un lien symbolique dans /etc/apache2/mods-enabled

On redémarre apache.

Si tout va bien une page de bienvenue s’affiche avec la version de Symfony.

Sur eclipse, ne pas hésitez à télécharger des packages supplémentaires, notamment un éditeur de twig.

Dans Help → Eclipse Marketplace.

Logiquement Eclipse devrait le proposer si vous ouvrez un fichier twig avec un éditeur de texte classique.

Idem pour les fichiers .yml

Voilà, il ne vous restera alors plus qu’à gérer la base de données avec un ORM. Les plus courant sous Symfony sont Propel ou doctrine.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *