Symfony, nouveau projet & premiers pas…


Un petit reminder de comment débuter un nouveau projet sur de bonnes bases avec Symfony, xampp et Windows, sans utiliser la sandbox. En 5 étapes (bon, d’accord, j’ai triché sur la numérotation un peu) et sans utiliser pear.

Il existe beaucoup de manière d’installer symfony, notament avec pear qui est très rapide. Cependant, pear peut être bloqué par les politiques de sécurité de certaines entreprises ainsi que certains antivirus ou firewall. Ou alors, vous ne voulez tout simplement pas l’utiliser. Les goûts, les codeurs comme on dit…

Dans l’espoir d’être un jour utile, voici un tutoriel en français intitulé “comment créer un nouveau projet avec symfony sans la p*tain de Sandbox” pour rester poli.

1. Télécharger symfony : ça c’est facile, il faut aller là http://www.symfony-project.org/ de préférence prendre la dernière version stable. Si vous êtes sous Windows, prenez donc la version .zip héhéhé.

1,5. Télécharger et installer Xampp, c’est re facile, mais c’est pas re là, c’est plutôt là : http://www.apachefriends.org/fr/xampp.html

2. Configurer le path Windows pour intégrer PHP à la console. C’est feucile encore.

Faites donc : Poste de travail, clic droit > Propriétés > Avancé > Variables d’environnement. En bas, ajoutez dans “Path”, à la fin, vers votre PHP. Chez moi, “C:\xampp\php” suivi d’un point virgule. Et le tout collé au point virgule précédent. Pas la peine d’intégrer symfony au path, on va utiliser la console dans le dossier de votre projet.

3. Créer le nouveau projet. Easy.

Décompressez Symfony dans un dossier.
Créer un répertoire sur votre machine pour stocker votre projet et ouvrez une console dedans. (ou alors touche windows+R : cmd, enter, puis naviguez jusqu’à votre dossier de projet)
Dans la console, tapez donc pour la version 1.2 de symfony:

chemindesymfony/data/bin/symfony generate:project votrenomdeprojet

 Ça va générer les dossiers et fichiers nécessaires pour le projet. Pas besoin d’ajouter “php” devant, le symfony.bat s’occupe de tout. Et puis comme vous avez été super malin et que vous avez réalisé l’étape 2, il n’y a aucun problème “avec php command not found.”

3,5. Créer une application. Encore super facile :

symfony generate:app frontend

Pas besoin du chemindesymfony/data… parce que normalement, je dis bien normalement, symfony vous a généré un symfony.bat dans votre répertoire de projet. Si ce n’est pas le cas, récupérez-le depuis le chemindesymfony/data/bin/symfony (copiez tout le contenu de ce dossier dans votre dossier d’application).

Et voila, rien de plus facile on dirait. Maintenant il va falloir taffer grave sur le schema.yml de votre application, faire des generate:app backend, des propel:build-schema, build-sql, generate:module et tous leurs amis que vous pouvez retrouver sur l’aide en ligne mais en anglais. (j’m’en fous moi j’ai fait anglais à l’école)

4. Pluggins et autres joyeusetés.
Je vous recommande au passage d’installer les plugins suivants :

sfGuardUser, gestion d’accès à une zone d’administration,
sfProtoculous, Scriptaculous et Prototype pour faire de l’Ajax et des chouettes trucs en javascript,
sfPropel bien sûr pour générer du code automatiquement

S’ils ne sont pas installé par défaut, ils sont disponibles dans le repertoire de symfony dans le dossier pluggins. Copiez les dans votre dossier plugins. N’oubliez pas de les activer au passage, ça peut toujours éviter de perdre du temps (config.yml)

5. Les cadeaux bonux de la sandbox sans la sandbox.

Copiez les fichiers sf contenus dans data/web/sf du repertoire de symfony dans un repertoire sf dans votre web à vous, et vous aurez accès à tous les styles, javascript et images très utiles et généreusement fournis par les développeurs pour générer automatiquement du code :)

Conclusion et réflexion...

Il existe un milliard de tutoriaux sur internet sur le sujet, pourquoi en écrire un de plus ? Bah, cela là a le mérite d’être concis et à jour à l’heure où je vous parle. Et écrit par moi. Muahahah. Voila.

Fab
Latest posts by Fab (see all)

About Fab

Solutions Architect, I build great workflows for the news and media production industries. I play with data too.

Leave a comment

Your email address will not be published. Required fields are marked *