IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Tutoriel pour débuter avec Symfony2 [Tutoriel]


Sujet :

Symfony PHP

  1. #1
    Membre éclairé
    Avatar de djayp
    Profil pro
    Inscrit en
    avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 295
    Points : 687
    Points
    687
    Par défaut Tutoriel pour débuter avec Symfony2
    Bonjour à tous,

    Je vous propose un tutoriel pour débuter avec Symfony2.

    Au menu : installation, création d'un premier bundle, les notions importantes à connaître (contrôleurs, routes, vues, entités...), template Twig et gestion des formulaires. Ce tutoriel vous guidera pas-à-pas dans la réalisation de votre première application web avec Symfony2.

    http://j-place.developpez.com/tutori...avec-symfony2/

    Bonne lecture !
    Jérôme

  2. #2
    Membre actif

    Homme Profil pro
    Inscrit en
    janvier 2009
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : janvier 2009
    Messages : 91
    Points : 223
    Points
    223
    Par défaut
    Bonjour Djayp,

    Je te félicite pour le travail apporté à la création d'un tutoriel pour débutants.

    Je profite cependant de ce post afin de souligner le fait que la majorité des débutants préfereront configurer leur base de données via le navigateur comme via /config.php (comme dans le quick start de sf2) qui leur semblera surement plus intuitif et en plus avec un générateur de clé "secret". En utilisant cette méthode, il y a beaucoup de chances qu'il y ait un message vous demandant de copier les paramètres donnés dans le fichier parameters.ini vu les droits en écriture restreints ce qui fera d'une pierre deux coups.

    Bien à toi

  3. #3
    Nouveau membre du Club
    Inscrit en
    janvier 2009
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 32

    Informations forums :
    Inscription : janvier 2009
    Messages : 38
    Points : 31
    Points
    31
    Par défaut
    Très bon tutoriel !

  4. #4
    Futur Membre du Club
    Inscrit en
    janvier 2011
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : janvier 2011
    Messages : 3
    Points : 9
    Points
    9
    Par défaut
    Sympa de ta part

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    septembre 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : septembre 2006
    Messages : 64
    Points : 78
    Points
    78
    Par défaut
    Merci beaucoup pour le tutoriel
    J'avais jeté un œil à la documentation officielle sans trouver un vrai suivi pas à pas vers un petit Bundle (genre jobeet, il y a bien jobeet2 sur github mais il ne présente pas clairement les tuyaux principaux de Symfony 2 pour pouvoir se lancer dans le dev).

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    avril 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : avril 2011
    Messages : 47
    Points : 63
    Points
    63
    Par défaut
    Merci pour ta contribution, je sais le travail que cela représente j'en suis au troisième article de mon tuto de création d'un appli sous symfony2, j'en profite pour faire de la pub ;-) http://www.emmanuelpereira.com/creer...e2-etape-3-698.

    En ce qui concerne le tuto sur jobeet2, il va s'en dire que certains ont essayé à partir du reversing d'une base préalablement créée avec jobeet symfony1, mais ils rencontrent certains problèmes du fait d'une connaissance trop légère de Symfony2 et surtout Doctrine2 c'est pourquoi ils ont un peu de mal à avancer.

    En tout cas si vous expérimentez Symfony2, n'hésitez pas à faire partager vos nouvelles connaissances. ;-)

  7. #7
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    août 2008
    Messages
    26 078
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2008
    Messages : 26 078
    Points : 185 753
    Points
    185 753
    Par défaut
    Citation Envoyé par webornot Voir le message
    Merci pour ta contribution, je sais le travail que cela représente j'en suis au troisième article de mon tuto de création d'un appli sous symfony2, j'en profite pour faire de la pub ;-) http://www.emmanuelpereira.com/creer...e2-etape-3-698.Symfony2, n'hésitez pas à faire partager vos nouvelles connaissances. ;-)
    Alors pour les Preview Release (PR11 dans mon cas) il nous faut configurer Doctrine en rajoutant juste une ligne correspondant à notre bundle :
    ... Mais pourquoi donc un tel châtiment... Qu'avons-nous fait pour rester bloqués aussi loin dans le passé... Ça n'a pas le droit de rester ! Passe tout à la bêta, oublie qu'il y a eu autre chose avant. Ça t'éviterait probablement ce genre de trucs :

    Si vous êtes sur la PR11 et sous windows, il se peut que vous ayez un message d’erreur « Something went terribly wrong » avec cette ligne de commande, il nous faut pour corriger cela (ce qu’on devrait pas faire en temps normal), manipuler quelque peu le coeur de Symfony2, précisément le bundle de Doctrine2 en remplaçant la méthode findBadPathForBundle() comme suit :
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  8. #8
    Nouveau membre du Club
    Inscrit en
    novembre 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : novembre 2009
    Messages : 17
    Points : 27
    Points
    27
    Par défaut
    Merci pour le tuto, c'est très urbain que les bonnes âmes illuminées partagent leurs savoirs ! Une petite note si je peux me permettre. On dirait bien qu'au moment de la generation des accesseurs en command line, il y ait une coquille:
    Au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    php app/console doctrine:generate:entities MyApp\FilmothequeBundle
    Il semblerait que ce soit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    php app/console doctrine:generate:entities MyAppFilmothequeBundle

  9. #9
    Membre éclairé
    Avatar de djayp
    Profil pro
    Inscrit en
    avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 295
    Points : 687
    Points
    687
    Par défaut
    Citation Envoyé par Sebish Voir le message
    On dirait bien qu'au moment de la generation des accesseurs en command line, il y ait une coquille:
    Au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    php app/console doctrine:generate:entities MyApp\FilmothequeBundle
    Il semblerait que ce soit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    php app/console doctrine:generate:entities MyAppFilmothequeBundle
    Salut Sebish,
    Alors en fait les deux syntaxes sont valides !
    A++

    PS : Merci pour vos messages

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    janvier 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2007
    Messages : 23
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par Sebish Voir le message
    Merci pour le tuto, c'est très urbain que les bonnes âmes illuminées partagent leurs savoirs ! Une petite note si je peux me permettre. On dirait bien qu'au moment de la generation des accesseurs en command line, il y ait une coquille:
    Au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    php app/console doctrine:generate:entities MyApp\FilmothequeBundle
    Il semblerait que ce soit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    php app/console doctrine:generate:entities MyAppFilmothequeBundle
    Effectivement, même probleme, la premiere commande ne fonctionne pas.
    J'ai du utiliser la 2nde !
    Merci

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    janvier 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2007
    Messages : 23
    Points : 19
    Points
    19
    Par défaut
    J'ai rencontré deux nouvelles coquilles, dont une que je n'ai pas encore réussi a résoudre.

    - à la génération des getters&setters
    php app/console doctrine:generate:entities MyAppFilmothequeBundle

    J'ai trois fichiers qui se sont générés sauvegarde de mes entités).
    ~Acteur.php
    ~Catégorie.php
    ~Film.php

    J'ai du les effacer, car je n'ai pas pu générer mes tables.

    - à l'affichage des catégories, j'ai un problème d'accent, qui me cause deux soucis :
    1) l'affichage "Liste des cat?gories"
    2) l'enregistrement "comédie" ne s'affiche pas avec le for

    Quelqu'un à une solution pour ce problème d'accent ?
    Je vous remercie d'avance,

    Et encore bravo pour ce tuto très réussi, et très explicite.

  12. #12
    Membre éclairé
    Avatar de djayp
    Profil pro
    Inscrit en
    avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 295
    Points : 687
    Points
    687
    Par défaut
    Salut et merci pour vos commentaires !

    J'ai finalement retouché la partie sur la génération des entités en reprécisant la commande à taper et en indiquant qu'il faut supprimer les fichiers temporaires.

    Cumucumi, pour ton problème d'accents, es-tu sur que tes fichiers sont bien enregistrés avec l'encodage utf-8 ?

    A+

  13. #13
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    avril 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : avril 2011
    Messages : 47
    Points : 63
    Points
    63
    Par défaut
    Citation Envoyé par dourouc05 Voir le message
    ... Mais pourquoi donc un tel châtiment... Qu'avons-nous fait pour rester bloqués aussi loin dans le passé... Ça n'a pas le droit de rester ! Passe tout à la bêta, oublie qu'il y a eu autre chose avant. Ça t'éviterait probablement ce genre de trucs :
    Oulala t'es un petit malin toi

    J'ai commencé le tutoriel quand la PR11 sortait (il y a environ un mois), maintenant il faut assurer la compatibilité pour ceux qui ont commencé le tuto avec la PR11.

    Evidemment, si je recommence un tuto dès la base, ca ne sera pas avec une PR question de bon sens bien entendu !

    Quoiqu'il en soit mon tuto est censé fonctionner aussi bien pour la PR11, PR12 que la beta1 !

  14. #14
    Nouveau membre du Club
    Inscrit en
    novembre 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : novembre 2009
    Messages : 17
    Points : 27
    Points
    27
    Par défaut
    Je suis tombé sur le meme soucis que Cumucumi pour l'encodage des caractères. J'ai changé l'encodage des fichiers que j'ai créé de ANSI pour UTF-8. Pareil pour la collation de la BDD (utf8_general_ci) mais ca n'a rien changé. En utilisant le filtre |raw fourni par Twig
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p>{{ cat.nom|raw }}</p>
    on arrive a afficher la catégorie (en l'occurence "comédie") mais avec le fameux point d'intérogation sur le "é". Je me rend bien compte que c'est pas vraiment un soucis lié au tuto mais si quelqu'un a l'ombre d'une solution, je suis preneur.

  15. #15
    Membre éclairé
    Avatar de djayp
    Profil pro
    Inscrit en
    avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 295
    Points : 687
    Points
    687
    Par défaut
    Bonjour à tous !

    Le tutoriel a été mis à jour suite à la sortie de la bêta 2 de Symfony2.
    Les changements concernent la définition des entités avec les annotations @ORM\ et @Assert\ qui remplacent désormais @orm: et @assert:

    http://j-place.developpez.com/tutori...avec-symfony2/

    A++

  16. #16
    Nouveau membre du Club
    Inscrit en
    novembre 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : novembre 2009
    Messages : 17
    Points : 27
    Points
    27
    Par défaut
    Merci beaucoup djayp pour la mise à jour. Je vais tester ça de ce pas.

    Au sujet de l'encodage des caracteres, il semblerait que la solution consiste à utilisé la commande SQL "SET NAMES 'UTF8'". Il y avait visiblement une fonction permettant de faire ça sous symfony1 (http://snippets.symfony-project.org/snippet/37). En attendant de savoir comment faire ça dans la version 2, j'ai ajouté cette ligne dans my.ini :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    default-character-set=utf8
    Je pense pas que ce soit l'idéal de changer la conf du server étant donné que ce sera peut-être pas toujours possible en production, mais ça fait l'affaire pour l'instant.

    Je serais tout de même assez curieux de savoir comment on peut jouer avec les jeux de caractère dans Symfony2. Comment par exemple, encoder les tables MySQL directement en UTF-8 avec doctrine et les commentaires @ORM\, lors de la génération automatique des tables.

  17. #17
    Expert éminent sénior

    Profil pro
    Inscrit en
    septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2010
    Messages : 7 920
    Points : 10 724
    Points
    10 724
    Par défaut
    le charset c'est a mettre dans la conf de Doctrine, a partir de PHP 5.3.6 pour PDO_Mysql le carset est pris en compte, avant ca on peux toujours faire le SET NAMES, mais il faut faire attention puisque ce n'est pas le même effet au niveau du driver

  18. #18
    Nouveau membre du Club
    Inscrit en
    novembre 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : novembre 2009
    Messages : 17
    Points : 27
    Points
    27
    Par défaut
    Ha oui en effet c'est bien mieux comme ça. Merci Stealth. J'aurais du mieux chercher, l'info est sur le site officiel... http://symfony.com/doc/2.0/book/doctrine/dbal.html

  19. #19
    Nouveau Candidat au Club
    Inscrit en
    mai 2005
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : mai 2005
    Messages : 18
    Points : 0
    Points
    0
    Par défaut Documentation twig
    Bonjour à tous, il semblerait que le lien indiqué dans le tuto ne soit plus fonctionnel et que le lien qui marche soit:

    http://www.twig-project.org/documentation

  20. #20
    Membre à l'essai
    Inscrit en
    juillet 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : juillet 2009
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    J'ai commencé ce très bon tutoriel de djayp. Après avoir installé et activé les extensions intl et APC puis cliqué sur 'Configure your Symfony Application online', j'obtiens le message d'erreur suivant:

    No route found for "GET .php/_configurator/"
    Je peux également si vous le désirez poster l'intégralité du message d'erreur.

    Avez-vous une idée du problème ?

    A noter que ce problème ne se produit pas sur un autre ordinateur.

    Merci de votre aide

Discussions similaires

  1. Cours et tutoriels pour débuter avec SAP
    Par birdy85 dans le forum SAP
    Réponses: 22
    Dernier message: 14/09/2016, 21h37
  2. Quel livre ou tutoriel pour débuter avec DOT.NET
    Par trent94 dans le forum Débuter
    Réponses: 16
    Dernier message: 09/02/2012, 16h46
  3. Tutoriel pour débuter rapidement avec les Windows.Forms ?
    Par Leelith dans le forum Windows Forms
    Réponses: 6
    Dernier message: 03/12/2008, 14h25
  4. [Portlet] Tutoriel pour débuter avec les portlets
    Par AbdeL02 dans le forum Portails
    Réponses: 7
    Dernier message: 20/08/2008, 00h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo