Developpez.com - Rubrique PHP

Le Club des Développeurs et IT Pro

Débat PHP : Dois-je prendre un framework ?

Le 2008-07-19 05:10:01, par gokudomatic, Membre régulier
Bonjour,

je suis en train de developper une application web tres oriente AJAX, puisque utilisant enormement la cartographie (map24). Pour le moment, la partie serveur est assure en PHP par des pages. donc pas de framework pour le moment. La partie client javascript, par contre est deja fixe (grace a jquery), et la suite de mon developpement demandera encore beaucoup de developpement javascript pur.
Je commence serieusement a toucher a la partie administratif de l'application, qui ne requiert pas autant de javascript/ajax. Aussi, ayant vu en java les mechanismes de securite de webapps, je pensais utiliser un framework PHP. J'ai une vue sur jelix mais je le trouve tres contraignant. Si il me contraint sur le javascript egalement, il ne pourra etre une option. Mais le fait qu'il soit stable et propose differents services avec vérification (pendant positif de la contrainte) pourrait me faire gagner beaucoup de temps.
Il est bien entendu hors de question que je me mette a une usine a gaz, et je ne peux me permettre le luxe de tout reecrire le site (sinon je passe direct a java, pour le même prix).

Que me conseilleriez-vous? la partie ajax est la plus importante, et est principalement javascript/JSON, mais la partie adminstration, bien que petite, est aussi important. Et il me faut des mechanismes de sécurité éprouvés.
Prendre un framework est-il adapte? jelix pourra-t'il repondre a mes principaux besoins (totale liberte pour javascript/DOM)?

merci d'avance de vos reponses.
  Discussion forum
12 commentaires
  • lehic
    Membre du Club
    Envoyé par gokudomatic
    Bonjour,
    J'ai une vue sur jelix mais je le trouve tres contraignant. Si il me contraint sur le javascript egalement, il ne pourra etre une option.
    Déjà je peux te dire si tu trouve jelix contraignant, alors que vas tu dire quand tu decouvrera Zend et Symfony

    jelix, est pour moi un des framework le plus souple et le plus facile a prendre en main. Pour ton inquiétude avec Javascript et JSON, je te rassure d'avance que jelix n'a aucun problème d'intégration avec eux. Il a même une API pour gérer des services web sous JSON.
  • __fabrice
    Membre habitué
    Salut,

    Pour ma part, apres avoir fait pas mal de recherches, j'ai choisis le Zend Framework. Il est vraiment tres bien. Lire "Zend Framework In Action", qui est excellent, t'aidera.

    Fabrice
  • stailer
    Membre chevronné
    Apparemment il parle d'une appli très orientée Ajax... Alors pour jelix je sais pas, mais concernant Zend Framework (et bien que je le trouve génial) il me semble pas qu'il y est d'aide concernant Ajax.

    Me concernant j'ai développé mon propre framework (un truc simple), couplé avec Xajax qui me permet par exemple d'appeler des méthodes Ajax dans mes classes comme des méthodes (actions) "classiques" d'un contrôleur...

    Bref, moi je te préconise 2 solutions :

    1) soit tu pars sur un framework complétement Ajax
    2) soit tu utilises un framework le plus léger possible pour le côté classique... et tu implémentes à l'intérieur la librairie Xajax ou une autre du genre pour t'aider sur les actions Ajax.

    De plus , rien ne t'empêcheras d'utiliser des composants du Zend Framework puisque ce dernier est orienté "composants" (Pdf ? Zend_Pdf, Acl ? Zend_Acl)

    Voilà ce que moi j'en dis
  • san1981
    Membre du Club
    Bonjour,

    J’ai appris à programmer en ruby on rails mais vu les difficultés à trouver des hébergements à un prix correct, je me suis mis au php. Etant débutant en php, je me demande s’il y a un intérêt au début de s’intéresser aux frameworks comme cakephp ou zend framework ?

    Actuellement j’ai réalisé des petits sites exigeant peu de dynamisme (une base de données avec 5-6 tables).

    A quel moment est-il intéressant d’utiliser un framework ?

    Merci à tous pour vos réponses,
  • ThomasR
    Membre expert
    Bonjour,

    Avant d'utiliser un framework il faut maitriser correctement le langage, dans le cas contraire tu ne pourras même pas savoir ce que t'apportes réellement ce framework.

    On utilise un framework lorsque c'est nécessaire, c'est à dire lorsqu'on estime que celui-ci va nous faire économiser du temps de développement.

    Aussi, il faut savoir qu'un framework, il faut l'apprendre, l'assimiler et le comprendre avant de pouvoir l'utiliser. Tu auras donc besoin pour cela de connaitre le langage PHP(5) suffisament pour pouvoir tirer parti du framework.
  • san1981
    Membre du Club
    Bonjour,

    Merci pour cette réponse rapide.
    Je me demandais, comme j’ai appris à programmer en ruby on rails, si un framework ne me permettrait pas de retrouver le modèle MVC en php car ce modèle reste très avantageux et pratique pour s’y retrouver facilement,
  • ThomasR
    Membre expert
    Si bien sûr,

    L'utilisation d'un framework tel que Zend par exemple te permettra de séparer ton application en couches logiques : MVC.
  • sirbaldur
    Membre régulier
    je vais peut être contre courant, mais pour moi, rien de mieux qu'un développement fait maison
  • MaGRaP
    Membre à l'essai
    Envoyé par sirbaldur
    je vais peut être contre courant, mais pour moi, rien de mieux qu'un développement fait maison
    C'est le cas pour moi aussi

    Mais entre nous, quand j'essaie d'utiliser un Framework, je perd bcp de temps a la place de le gagner
  • thecanea
    Membre régulier
    Bonjour à tous,

    Personnellement, je viens de me mettre à cakePHP, pour un projet sur lequel je me lance...

    Il faut un minimum de prise en main, effectivement on a rien sans rien... Mais cela est facilité par des tutos... Rien de bien méchant. L'avantage, une communauté (anglophone et francophone) super sympa, et un max de tutos pour développer des points en particulier...

    Effectivement c'est important, et plus facile, d'avoir de solides bases en PHP5 orienté objet, et aussi par rapport au modele MVC (Model/View/Controller).

    Mais après c'est carrément mieux, pour moi et pour beaucoup de gens je pense, d'utiliser un framework... Il ya de très nombreuses fonctionnalités "de base" (et meme plus) qu'on peut utiliser directement sans redévelopper depuis le début ! C'est dans l'idée de ne pas ré-inventer la roue à chaque fois qu'on veut l'utiliser !!

    Voilà mon point de vue... Et franchement, ça vaut la peine de se plonger un peu dedans...

    Bon courage !

    Thec