symfony 1.2 est disponible

Posté par (page perso) . Modéré par patrick_g.
Tags :
11
1
déc.
2008
PHP
Après plus de 6 mois de développement frénétique, la version 1.2 du framework PHP5 Symfony est sortie le 30 novembre.
Pour rappel, Symfony est un framework de développement web professionnel, libre (licence MIT) et documenté (licence FDL). Il a été créé et est principalement maintenu par la société française Sensio avec l'aide de la communauté.

Un bref aperçu du programme de cette nouvelle version :
  • Évidemment pas mal de corrections de la version 1.1, ce qui peut rendre la migration de votre projet de 1.0 vers 1.2 plus facile que vers 1.1 (même s'il faut passer par 1.1 quand même) ;
  • Un nouveau système de routing extensible (les routes sont désormais des objets). Une route par exemple suffit à mettre en place une architecture REST associé à un objet de la base ;
  • L'admin generator utilise désormais le système de formulaires introduit dans la 1.1 ;
  • Le système de formulaires a été modifié pour permettre la sauvegarde des objets de la base dans les formulaires imbriqués ;
  • Une bibliothèque de formulaires (login, changement de langue etc) et de tâches CLI est fournie ;
  • Propel 1.3 et doctrine sont livrés sous forme de greffons intégrés ;
  • Plein d'autres choses encore...
Symfony est un framework de développement web, orienté objet, utilisant PHP5. Ce framework est une implémentation de bonnes idées, bonnes pratiques et motifs de conception éprouvés (MVC) au service de motivations simples :
  • Ne pas ré inventer la roue (capitalisation du code) ;
  • Ne pas se répéter (maintenabilité du code) ;
  • Faciliter la re factorisation du code (encapsulation du code) ;
  • Spécifier, tester et bonifier le code (tests automatiques).

Le framework a pour but de décharger le développeur des tâches répétitives sur lesquelles il n'a que peu de valeur ajoutée :
  • Génération automatique du modèle de base de données relationnelle ;
  • Génération automatique de code pour les opération de base (CRUD) ;
  • Objets de gestion des pagers ;
  • Génération automatique de pages d'administration ;
  • Gestion de l'internationalisation et de la localisation des données ;
  • Tests fonctionnels et unitaires sous forme de scripts utilisables à volonté ;
  • Arborescence projet standardisée (adaptable et configurable) orientée versionning ;
  • Gestion des environnements (développement, tests, recette, production…) ;
  • Implémentation dans la session des mécanismes d'authentification et de privilèges ;
  • Construction et validation de formulaires ;
  • Gestion du cache de templates et mise en cache de données.

Un système de greffons permet de capitaliser (encore) des pans entiers d'applications et (éventuellement) d'en faire profiter les autres. Plus de 300 greffons, en majorité communautaires, sont disponibles sur le site aujourd'hui.

La version 1.0 est une version « long terme », maintenue trois ans par Sensio jusqu'à la fin 2009.
La version 1.1 est une version « court terme », maintenue un an jusqu'en juin 2009.
La 1.2 sera également maintenue pendant un an jusqu'en décembre 2009.
Une version « court terme » 1.3 et « long terme » 2.0 sont prévues en 2009.
  • # Super \o/

    Posté par . Évalué à 6.

    J'avoue que j'ai longtemps été sceptique sur le MVC jusqu'à ce que la doc symfony réussisse à me convaincre définitivement. Parce que la doc symfony est très bien faite, on comprends tout très vite, on boit bien où on va mettre nos trucs et ce qu'on peut configurer pour personnaliser le bouzin.

    J'attendais cette version depuis quelques temps avant de me lancer dans un nouveau site, même si c'est une version court terme, elle apporte pas mal par rapport à la 1.1 et la 1.0. Donc merci à Sensio de nous donner un si bon framework, si bien documenté.
    • [^] # Re: Super \o/

      Posté par (page perso) . Évalué à 2.

      on boit bien où on va

      t'as la tête Dans Ta Canette quand tu codes ? :D
    • [^] # Re: Super \o/

      Posté par . Évalué à 2.

      si bien documenté

      Ca n'est pas l'avis de mes collègues qui ont bossé avec Symfony.

      Disons qu'il y a des points forts (des tutoriaux et un livre bien écrit), et des points faibles. Parmis ceux-là, le fait que la doc soit morcelée, avec Symfony d'un côté, Propel de l'autre (voir même Prototype et Script.aculo.us en plus si on cherche à faire de l'Ajax un peu disco). Egalement certaines fonctions de l'API non documentées, j'ai dû rentrer plus d'une fois dans le code pour faire ce que je voulais.
      • [^] # Re: Super \o/

        Posté par . Évalué à 3.

        Personnellement, je trouve que c'est un des points forts de symfony de se contenter d'expliquer les bases et les concepts plutôt que d'avoir une longue description inutile de toute l'API (même si je conçois que ça puisse servir à certain). Au moins, on sait ce qu'on doit appeler si on veut faire un truc simple et si on veut compliquer la chose, on passe au chapitre suivant.

        Le fait que la partie Modèle soit séparé (on peut choisir Propel ou Doctrine ou ce qu'on veut), je trouve ça génial, pas besoin de réinventer une roue qui existe déjà à des dizaines d'exemplaires. Et l'intégration de Propel est vraiment bien faite je trouve. De même, pourquoi dupliquer la documentation ?
  • # MVC et développement web

    Posté par . Évalué à 5.

    Il y a eu récemment un article sympa à propos du MVC et du développement web sur Advogato : http://advogato.org/article/993.html

    L'un des avantages des frameworks est de pouvoir coder dans un seul et même langage de programmation le côté serveur et le côté client (au lieu de se farcir du javascript côté client). Vu la diversité des frameworks et des langages possibles (Python, Java, Ruby...), quels sont les principaux avantages de Symphony et d'un framework en PHP sur la concurrence ?
    • [^] # Re: MVC et développement web

      Posté par . Évalué à 2.

      Saut que c'est une critique des web framework MVC classiques (y compris celui-ci, ror, ...).

      Les seuls qui ont grâce a ses yeux sont ceux dont le langage se "recompile/traduit" en javascript (GWC et pyjama).

      Dans Symfony et tous les autres ont doit, excepte les cas ou le javascript est masque par des appels qui le génèrent, quand même le faire a la main. Et en général on fini par le faire directement a la main car si une partie du JS est généré par le backend et une autre partie est faite a la main ça devient un foutoir.

      De la a dire qu'il a raison... Il n'y a pas que le pur MVC dans la vie...
      • [^] # Re: MVC et développement web

        Posté par (page perso) . Évalué à 2.

        Je pense surtout que ce type de frameworks n'adresse pas le même type de besoins que la majorité des frameworks web[1,2]. Ce sont pour moi des frameworks pour réaliser des applications web plus que des sites web car ils nécessitent généralement l'utilisation de javascript pour pouvoir utiliser l'application (par exemple pour GMail).

        Dans le cas de Symfony ou des autres frameworks, on code généralement tout sans penser au javascript puis on rajoute les petites touches de javascript pour rendre l'application plus agréable et réactive. Cela se fait merveilleusement bien avec JQuery[3] pour le javascript.

        [1]: http://fr.wikipedia.org/wiki/Liste_de_frameworks_PHP
        [2]: http://fr.wikipedia.org/wiki/Liste_de_frameworks_python
        [3]: http://jquery.com/

        Note, cet avis doit être considéré comme biaisé, car je suis développeur de Pluf un framework qui ne "recompile/traduit" pas en Javascript.
  • # Jobeet

    Posté par (page perso) . Évalué à 4.

    A noter qu'à l'occasion de la sortie de symfony 1.2.0, l'équipe se fend d'un nouveau tutorial (certains se souviennent peut être de askeet il y a deux ans) nommé Jobeet.

    Comme pour askeet, la logique du tutorial est de suivre pendant 24 jours la réalisation d'un projet avec symfony. Une façon assez ludique et didactique d'acquérir des compétences "synfoniesque".

    Et ça commence ici :
    http://www.symfony-project.org/blog/2008/12/01/jobeet-day-1-(...)

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.