Une idée de site m’est venue et j’avais gardé Symfony dans un coin de l’ordi donc c’est une bonne occasion d’essayer. Mais attention, je ne connais pas Symfony, donc je vais dire des bêtises
.
Déjà Symfony est un ensemble d’outils permettant de créer des sites web rapidement, c’est en PHP, ça utilise le modèle MVC et ça permet d’être Agile, donc ca s’annonce pas mal
.
Normal, on télécharge la dernière version de Symfony 1.4, on la met dans un dossier de votre serveur web. Et on part en console, vous allez dans le dossier où vous avez jeté Symfony, par exemple : cd /var/www/Symfony, on vérifie que tout va bien : php data/bin/check_configuration.php, normalement c’est assez clair.
Maintenant on va utiliser le script de Symfony présent dans data/bin : php data/bin/symfony generate:project Learn. Ici j’ai appelé mon projet Learn.
La commande magique qui permet de régler tout les problèmes : php data/bin/symfony project:permission.
Pour la base de données : ./symfony configure:database « mysql:host=localhost;dbname=nomDeLaBase » nomDUtilisateur motDePasse.
Déjà, ça a plein de nouveaux dossiers, donc un petit copié-collé (car c’est sous CC By-Sa) :
- apps/ Accueille toutes les applications du projet
- cache/ Les fichiers mis en cache par le framework
- config/ Les fichiers de configuration du projet
- data/ Les fichiers de données comme les jeux de données initiales
- lib/ Les bibliothèque et les classes du projet
- log/ Les fichiers log du framework
- plugins/ Les plugins installés
- test/ Les fichiers de test unitaire et fonctionnel
- web/ Le répertoire racine Web
Puis on crée une application : ./symfony generate:app learn. Ca vous crée l’application dans apps/learn/, encore une fois bien organisée en dossiers :s
- config La configuration : jetez un coup d’œil du coté de routing.yml, et view.yml, ca montre bien que symfony est vraiment flexible !
- i18n Pour traduire votre application
- lib Le modèle
- modules Le contrôleur
- templates La vue
Bon on est encore loin du site dynamique et personnalisé mais c’est déjà un début, si j’arrive à aller plus loin, je vous ferais une suite de ce tutoriel
.
On sent que Symfony est vraiment bien pensé et largement orienté vers les développeurs web, comparé à quand je codais depuis rien du tout, ca m’a l’air assez impressionnant.
La suite (Les bases de Symfony, où vous allez voir vos premières pages)
PS : Dans les dépôts Ubuntu, c’est encore la version 1.0
. J’ai commencé à lire la doc officielle en anglais, avant de me rendre compte qu’elle existe en français avec un complément pour la configuration, et voici une anti-séche en français.

gwado
/ 16 janvier 2010Yeah, ça claque ! Symfony m’intéresse parce que ça aide mais ça m’a l’air de laisser suffisamment de liberté pour faire ce que je veux de mon site.
Quand on veut faire un site, soit on utilise un CMS comme Xoops, Drupal, WordPress ou d’autres, soit on fait tout au bloc note. J’ai toujours choisi la dernière solution. C’est long, pas facile mais on obtient ce que l’on veut et ça donne aussi pas mal de fierté quand on voit le bébé qu’on peut avoir ensuite.
Bref, si Symfony peut me soutenir je m’en servirais. J’attend donc tes prochains articles dessus avec impatience.
@kmut
/ 17 janvier 2010Merci pour cet article! On attends la suite
Dorian
/ 17 janvier 2010Merci pour les encouragements, je suis à fond dessus là, mais ca va être dur de résumer la suite dans de petits articles…
Tenshu
/ 18 janvier 2010Aie ça part mal ce n’est pas vraiment optimal comme install.
L’idéal est de récupérer les sources de symfony depuis le SVN du projet.
Dans lib/vendor/symfony.
Puis d’utiliser le script Check_configuration.php qui est dans data/bin pour verifier que tout est bon.
Puis on démarre le projet, et pas besoin d’utiliser php symfony un simple ./symfony suffit.
Pas besoin non plus de chmod les dossiers il y a ./symfony project:permission
il FAUT faire un virtualhost ou le chemin vers tes images et autres fichiers uploadés auront un mauvais chemin. Le virtualhost est très simple en plus.
Dorian
/ 19 janvier 2010Avoir une installation depuis le SVN ne paraît risqué et là au moins tout le monde est sur la même version.
Je vais rajouter le check, j’ai eu de la chance tout à fonctionné du premier coup.
pour faire ./symfony il faut faire chmod +x sympfony (peut être que project:persmission le fait).
Oui dans la suite j’ai créé un VirtualHost, je vais changer l’article.
Spinoz
/ 25 janvier 2010pour moi le problem c’est que quand je mety au debut PHP et j’ecri la suite il me dit :
‘php’ n’est pas reconnu en tatnt que commande interne ou externe, un programme executable ou un fichier de commandes.
j’aimrai bien savoir que doit je faire dans se cas la .
merci
Dorian
/ 26 janvier 2010@Spinoz : Php n’est pas installé, le plus simple reste de mettre en place un serveur LAMP : http://doc.ubuntu-fr.org/lamp
Tenshu
/ 27 janvier 2010De tête sudo taskel install lamp-server dans un console.
Pour ton installation depuis le SVN tu peut le faire depuis une branche précise et même un tag genre 1.4.1 mais tu peut très bien rester
du la version en developpement il n’y a pratiquement jamais eu de régression entre 2 commit.
Chez moi il n’y a absolument pas besoin de chmoder symfony, le script de création du projet doit déjà le faire.
Donc ./symfony sinon rien
Dorian
/ 27 janvier 2010J’utilisais « php symfony » car c’est c’est ce que l’auteur de Jobeet utilise
.
en vrai j’ai télécharger symfony et ca fonctionne bien donc pas la peine de changer de méthode
).
Pour le SVN, j’ai une autre excuse : avec mon débit de campagnard (60ko/s max) télécharger symfony depuis SVN est assez lent… (hehe bien trouvé
Askia
/ 2 février 2010Il ne manque qu’un petit tutoriel du genre pour l’installation sous Windows
parce que c’est plus difficile 
Très bonne initiative de se lancer dans Symfony, c’est un projet qui a de l’avenir et surtout, qui est français !
A cette occasion je souhaite soumettre une petite offre d’emploi qui pourrait intéresser votre lectorat, voir vous-même
http://bit.ly/ak9cI2 Emploi développeur #PHP #Symfony ,qualités humaines,esprit d’initiative et individus passionnés recherchés
Merci, à bientôt !
Dorian
/ 2 février 2010Je n’ai pas Windows, mais la procédure ne doit pas être trop éloignée.
(Arf, ici c’est pas un site d’emploi ^^, mieux vaut poster sur les forums Symfony ou Linuxfr
)