Archive for Symfony2

EasyAdminBundle : des admins « easy »

EasyAdminBundle : des admins « easy »

Pour ceux qui développaient avec Symfony 1.4, vous connaissez sûrement l’Admin Generator : ce composant permettait de générer automatiquement une interface d’administration en fonction du modèle de données (entités), ce qui faisait gagner énormément de temps lors de la création de backend.

Ce composant n’est plus présent dans Symfony 2, à notre grand regret, et comme la plupart du temps nos applications web et mobiles ont besoin d’interfaces d’administrations, on est contraints de tout créer « from scratch ».
Heureusement des bundles existent pour créer ces admin, le plus connu Sonata permet de générer le code de ces interfaces qu’on peut ensuite personnaliser. Cela accélère le développement mais créé aussi beaucoup de code ce qui peut être parfois difficile à maintenir.

Aujourd’hui, un développeur de SensioLabs, Javier Eguiluz, apporte sa pierre à l’édifice avec la sortie de son bundle EasyAdminBundle.

Ce bundle est prometteur puisqu’il permet de créer des interfaces d’administrations basées sur des fichiers de configuration yaml, rappelant ainsi un fonctionnement similaire à feu l’Admin Generator. Il est également possible d’étendre les fonctionnalités des admins générées de manière plus simple qu’avec Sonata (à priori le nombre de templates est plus limité).

Côté utilisateur, l’admin générée permet de lister, créer, éditer, supprimer les entités, mais il est possible pour le développeur d’étendre les fonctionnalités de l’admin avec ses propres templates / controlleurs.

Autre avantage, son thème graphique simple (certains diront simpliste) est responsive et basé sur Bootstrap. Même s’il est indiqué dans la doc, qu’aucun système de theming n’est prévu, le code étant basé sur Bootstrap il doit être possible de skinner le tout assez facilement.

Les pré-requis sont Symony 2.3+, Dotrine ORM et que les entités aient comme clé primaire une propriété « id » (rien de très exotique). Pour le moment les relations many-to-many ne sont pas supportées, mais avec la souplesse de développement qu’offre Symfony on peut être certains que ce sera rapidement le cas.

Ce bundle est disponible à partir d’aujourd’hui, alors on va s’empresser de le tester pour voir ce qu’il a dans le ventre !

#symfony_live : Symfony3, best practices & déploiement

#symfony_live : Symfony3, best practices & déploiement

Les 9 et 10 octobre se tenait le Symfony Live à New-York, l’occasion de faire le point sur ce qui nous attend dans les mois qui viennent.

Il y a été question bien sûr de Symfony3 et Twig 2.0. D’ailleurs un guide de migration vers Symfony3 a été mis à disposition. On peut y voir les nombreux changements opérés sur les classes et méthodes du core, et (heureusement) à priori rien d’insurmontable ! Pour le guide c’est par ici : https://github.com/symfony/symfony/blob/master/UPGRADE-3.0.md

De même pour Twig 2.0, il est d’ors et déjà possible d’avoir un aperçu de la version DEV ici : https://github.com/fabpot/Twig/compare/master…2.0-experimental
Hormis le grand nettoyage dans les classes de Twig et les améliorations de perfs, on peut noter la fin du support de PHP 5.2.

Lors de cet évènement, Sensio a également présenté un document qui recense les principales best pratices du développement avec Symfony, une piqûre de rappel ne faisant jamais de mal vous pouvez télécharger gratuitement le pdf ici : http://symfony.com/doc/download-best-practices-book/

Enfin une des conférences de ce Symfony Live a particulièrement attiré notre attention, il s’agit de « Rock Solid Deployment of Symfony Applications ». Pablo Godel (Expert PHP, Symfony, AngularJS, DevOps sur PabloGodel.com) y propose un tour d’horizon des solutions de déploiements : Heroku, Rsync, utilisation de Git ou SVN, outils de build, de packaging, outils spécialisés tels que Capifony, Deployer et enfin les outils d’automatisation.

A découvrir de toute urgence ici : http://fr.slideshare.net/pgodel/symfony-live-nyc-2014-rock-solid-deployment-of-symfony-apps