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 :

Intégration Symfony sur de l'existant


Sujet :

Symfony PHP

  1. #1
    Membre expérimenté Avatar de infofree
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    306
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 306
    Par défaut Intégration Symfony sur de l'existant
    Bonjour,

    Je ne connais pas le développement Symfony, je commence à m'y intéresser, et je voulais savoir s'il était possible d'intégrer du dev Symfony sur un site existant.

    Si j'ai un site "fait à la main" en HTML/Css, php/MySQL ... et que je veux passer sous Symfony, pour profiter de la robustesse du framework et tout ce qu'il offre comme avantages, Est-ce que c'est possible / simple ? ou bien dois-je tout redévelopper depuis le début.

    En vous remerciant.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Oui c'est simple, mais il tout ton code PHP et SQL avant tu pourras le supprimer ^^

  3. #3
    Membre expérimenté Avatar de infofree
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    306
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 306
    Par défaut
    Citation Envoyé par walane Voir le message
    Oui c'est simple, mais il tout ton code PHP et SQL avant tu pourras le supprimer ^^
    Excuses moi je n'ai pas compris !

  4. #4
    Invité
    Invité(e)
    Par défaut
    Si j'ai un site "fait à la main" en HTML/Css, php/MySQL ... et que je veux passer sous Symfony, pour profiter de la robustesse du framework et tout ce qu'il offre comme avantages, Est-ce que c'est possible / simple ?
    C'est pas très compliqué.

    ou bien dois-je tout redévelopper depuis le début.
    Oui tu dois tout refaire la programmation côté serveur, le HTML ne bouge pas bien sûr.

  5. #5
    Membre confirmé Avatar de Soobook
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Réunion

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2005
    Messages : 98
    Par défaut
    Symfony :
    - est orienté objet (POO) à 100%.
    - impose une structure en briques (bundles) qui lui est propre.
    - fournit des outils sous-traitant beaucoup de chose : les interactions avec la base de donnée (Doctrine), les templates (Twig), la création et le traitement des formulaires, l'envoi d'email, ...

    Ne connaissant pas votre site, je peux me tromper, mais je suppose qu'il vous faudra tout refaire pour coller à l'organisation du framework et pour tirer partie de tous ces outils.

    Ceci dit, je pense que c'est très bien : rien de tel pour apprendre que de travailler sur un projet réel, et que l'on connait très bien.
    Je vous encourage donc vivement à vous lancer dans cette démarche.

    Pour finir, Symfony c'est quand même du lourd. A mon sens, c'est un framework dédié à des applications/site d'une certaine envergure.
    Il faut savoir que SensioLab produit également un micro-framework php nommé Silex. Construit sur les composants de Symfony2, il est adapté à des projets plus modestes.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Soobook Voir le message
    Symfony :
    - est orienté objet (POO) à 100%.
    - impose une structure en briques (bundles) qui lui est propre.
    - fournit des outils sous-traitant beaucoup de chose : les interactions avec la base de donnée (Doctrine), les templates (Twig), la création et le traitement des formulaires, l'envoi d'email, ...

    Ne connaissant pas votre site, je peux me tromper, mais je suppose qu'il vous faudra tout refaire pour coller à l'organisation du framework et pour tirer partie de tous ces outils.

    Ceci dit, je pense que c'est très bien : rien de tel pour apprendre que de travailler sur un projet réel, et que l'on connait très bien.
    Je vous encourage donc vivement à vous lancer dans cette démarche.

    Pour finir, Symfony c'est quand même du lourd. A mon sens, c'est un framework dédié à des applications/site d'une certaine envergure.
    Il faut savoir que SensioLab produit également un micro-framework php nommé Silex. Construit sur les composants de Symfony2, il est adapté à des projets plus modestes.
    Voilà c'est exactement ça

  7. #7
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 772
    Par défaut
    Pas forcément besoin de tout plaquer pour passer à Sf2. Tu peux simplement l'utiliser pour quelques URL, en chipotant dans le .htaccess, ne passer à ton app Sf2 que les parties qui y ont été migrées.
    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
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par dourouc05 Voir le message
    Pas forcément besoin de tout plaquer pour passer à Sf2. Tu peux simplement l'utiliser pour quelques URL, en chipotant dans le .htaccess, ne passer à ton app Sf2 que les parties qui y ont été migrées.
    Arf pas terrible autant tout faire et tout harmoniser direct surtout si c'est pas un gros gros site. Pour s'entraîner et repartir sur de bonnes bases autant tout plaquer et faire du bon boulot que de se mélanger les pinceaux.

  9. #9
    Membre expérimenté Avatar de infofree
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    306
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 306
    Par défaut
    Merci pour vos réponses!

    Alors disons, à partir de quel moment, où plutôt, de quels spec (du site), considère t-on qu'il est souhaitable (ou nécessaire) d'utiliser un framework tel que Symfony ?

  10. #10
    Invité
    Invité(e)
    Par défaut
    Quand ça commence à devenir de moins en moins maintenable.
    Pour un petit projet je te conseille d'utiliser une architecture MVC et de l'objet bien sûr. Et pourquoi un ORM tel que Doctrine pour te familiariser

  11. #11
    Membre confirmé Avatar de Soobook
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Réunion

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2005
    Messages : 98
    Par défaut
    Citation Envoyé par walane Voir le message
    Arf pas terrible autant tout faire et tout harmoniser direct surtout si c'est pas un gros gros site. Pour s'entraîner et repartir sur de bonnes bases autant tout plaquer et faire du bon boulot que de se mélanger les pinceaux.
    100 % d'accord.

    Je rajouterai que je considère qu'il faut toujours développer dans l'idée que quelqu'un d'autre reprendra le projet un jour. Ça oblige à structurer, commenter, coller aux bonnes pratiques. Faire du non standard, mélanger les technos, c'est rendre une telle reprise difficile.

    Citation Envoyé par infofree Voir le message
    Alors disons, à partir de quel moment, où plutôt, de quels spec (du site), considère t-on qu'il est souhaitable (ou nécessaire) d'utiliser un framework tel que Symfony ?
    Ben la limite est évidemment floue et je ne suis pas suffisamment qualifié pour vous donner des specs précises.

    Néanmoins, je dirais que si votre site est une "vraie application" vous pouvez tout de suite vous orienter vers Symfony :
    - base de données élaborée (nombreuses tables et jointures, traitements compliqués).
    - et/ou nombreuses interactions entre les utilisateurs et les données (beaucoup de formulaires).
    - et/ou une vraie gestion des utilisateurs (inscriptions, email de confirmation, retrouver le mot de passe). Cf. FOSUserBundle pour Symfony.

    Sinon, essayez Silex, ou pourquoi pas un micro-framework concurrent.

    Dans tous les cas, je pense qu'après la nécessaire phase d'apprentissage des langages, développer sans framework c'est se priver de l'expérience et du travail de spécialistes bien meilleurs que nous, tout ça pour perdre beaucoup de temps à réinventer la roue et produire un code de moins bonne qualité.
    En fait je parle d'expérience

  12. #12
    Membre expérimenté Avatar de infofree
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    306
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 306
    Par défaut
    Ok merci pour vos retours, il vaut mieux donc que je reprenne depuis le début.

    Par contre, quand on dit : depuis le début, ça comprend tout? c'est à dire HTML + PHP ou seulement la partie dynamique.

    Ne connaissant pas encore Symfony, je ne sais pas s'il permet aussi de faire le HTML/Css ou seulement le PHP ?

  13. #13
    Membre confirmé Avatar de Soobook
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Réunion

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2005
    Messages : 98
    Par défaut
    Tu devras surtout refaire la partie dynamique.
    Si tu refais à l'identique, le CSS devrait pas bouger et la partie HTML devra être un peu adapté pour utiliser le moteur de template Twig. Mais tu verras c'est tellement de la balle que tu seras content après!!!

    Je pense que tu devrais faire l'excellent tuto de Jérôme place.
    Tout ça sera plus clair pour toi après.

  14. #14
    Membre expérimenté Avatar de infofree
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    306
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 306
    Par défaut
    J'ai lu le tuto proposé par "Soobook", je vois un peu plus clair!

    Si je comprend bien, on peut faire la partie présentation des données avec le moteur de template Twig.
    ou on peut aussi faire nos propres fichiers HTML ...

    Donc si je crée un site en utilisant Symfony, je peux tout à fait séparer la partie HTML, et la partie dynamique, et travailler sur chacune séparément ?

    Ensuite dans mes fichiers HTML, selon le besoin, j'utilise telle ou telle variable disponible dans Symfony...

  15. #15
    Membre confirmé Avatar de Soobook
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Réunion

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2005
    Messages : 98
    Par défaut
    Citation Envoyé par infofree Voir le message
    Si je comprend bien, on peut faire la partie présentation des données avec le moteur de template Twig.
    ou on peut aussi faire nos propres fichiers HTML ...
    C'est possible, mais je n'en vois pas l'intérêt. Et en travaillant sans Twig, tu te prives des fonctionnalités de celui-ci, telles que l'héritage : tu crée un fichier Twig contenant le layout global de ton site, puis dans tes pages tu hérite de ce layout, ne remplissant de les blocs qui changent.

    Citation Envoyé par infofree Voir le message
    Donc si je crée un site en utilisant Symfony, je peux tout à fait séparer la partie HTML, et la partie dynamique, et travailler sur chacune séparément ?

    Ensuite dans mes fichiers HTML, selon le besoin, j'utilise telle ou telle variable disponible dans Symfony...
    C'est le principe du MVC : la Vue est dissociée complètement du Modèle et des Contrôleurs.

    Globalement, le principe dans Symfony est le suivant :
    1. Tu crée une route faisant correspondre une URL à une action dans ton contrôleur.
    2. Dans cette action, tu effectue les traitements dont tu as besoin (récupérer des données de la base, faire des calculs, ...) puis tu renvoie un template Twig en lui passant éventuellement des variables.
    3. Dans ce template tu crée ton HTML, en utilisant les variables définies précédemment (tu n'as accès qu'à celles-ci, plus quelques variables globales). Tu n'y fais que du visuel.

    Si, je puis me permettre, ne te pose pas trop de question. Reconstruit ton site en t'inspirant du tuto cité précédemment. Tu seras vite convaincu de l'efficacité du fonctionnement standard de Symfony.

    Commence par modéliser ta base de donnée (création des entités).
    Ensuite génère des CRUD (il y a une commande pour ça) à partir des ces entités : ça te créera tous les fichiers de base (formulaires, templates, routes...)
    Puis modifie ces fichiers en collant à leur organisation : plus tu fais du standard, plus vite ça va.

    Dernier petit conseil, quand tu créera un ou des bundles, il te demandera de choisir un format de configuration. Je te conseille les annotations.

  16. #16
    Membre expérimenté Avatar de infofree
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    306
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 306
    Par défaut
    Merci pour tes conseils, j'en prends note.

    Donc je peux faire ma partie graphique directement sans problème dans le Twig ? Je peux même y rajouter des fonctionnalités javascript/Ajax ... ?

  17. #17
    Invité
    Invité(e)
    Par défaut
    En entreprise c'est toujours comme ça (et heureusement). La couche présentation(twig) est séparé de la couche métier (controllers) qui elle même est séparée de la couche persistance (repository).

    Et Symfony te force à le faire et tant mieux !

  18. #18
    Membre expérimenté Avatar de infofree
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    306
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 306
    Par défaut
    OK, on peut dire que Twig est l'équivalent de JSF dans J2ee ?

  19. #19
    Membre confirmé Avatar de Soobook
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Réunion

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2005
    Messages : 98
    Par défaut
    Je ne connais pas J2ee, mais Twig est juste un outil pour faciliter l'écriture du HTML (dans ce cas, il peut aussi servir au CSS, ou au JS, même si ce n'est pas utilisé dans Symfony). Quelques exemples :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <a href="{{ url }}">{{ label|upper }}</a>
     
    Au lieu de :
     
    <a href="<?php echo $url ?>"><?php echo strtoupper($label) ?></a>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <table>
    {% for row in rows %}
        <tr>
            {% for cell in row %}
               <td>{{ cell }}</td>
            {% endfor %}
        </tr>
        {% endfor %}
    </table>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <script type="text/javascript">
        var myJsArray = JSON.parse('{{ myPhpArray|json_encode }}');
    </script>
    Par contre il fait bugger l'autocomplétion du forum!

  20. #20
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par infofree Voir le message
    OK, on peut dire que Twig est l'équivalent de JSF dans J2ee ?
    De JSP plutôt oui c'est ça C'est un moteur de templates.

Discussions similaires

  1. [SQL2K] Créer une base OLAP sur un serveur existant ?
    Par dotnet dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/01/2007, 10h47
  2. [phpToPdf] Texte sur un pdf existant en php
    Par Alain15 dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 12/07/2006, 14h36
  3. Nouveau User sur un shema existant
    Par zxr69 dans le forum Oracle
    Réponses: 13
    Dernier message: 07/06/2006, 18h10
  4. Réponses: 6
    Dernier message: 10/02/2006, 13h46
  5. [Ada] Récupérer un pointeur sur un objet existant
    Par vincnet500 dans le forum Ada
    Réponses: 1
    Dernier message: 14/11/2004, 14h26

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