Archive for PHP

Symfony Docker Edition

Symfony Docker Edition

Un développeur s’est amusé à créer sa propre distribution Symfony comportant la configuration nécessaire pour tourner avec Docker.
La distribution intègre évidemment Symfony 3.0 mais également les dépendances logicielles pour le faire tourner, à savoir:

  • Supervisord (Permet le monitoring des processus)
  • Nginx (Serveur web, équivelent Apache)
  • MariaDB (fork de MySQL)
  • Memcached
  • PHP 5.6.17 + PHP-FPM
  • Xdebug
  • Opcache (équivalent APC)

La configuration choisie ne correspond pas forcément à ce que nous utilisons habituellement puisque chez nous on utilise plutôt Apache et MySQL, mais ça pourrait être un point de départ pour créer notre propre conteneur Docker, plutôt que de partir complètement de zéro.

Pour plus d’infos: https://github.com/drgomesp/symfony-docker

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

Tips & tricks JavaScript, parallax UI pour Phonegap et les frameworks php à surveiller en 2014

Tips & tricks JavaScript, parallax UI pour Phonegap et les frameworks php à surveiller en 2014

Pour bien commencer l’année, 45 Useful JavaScript Tips, Tricks and Best Practices en guise de piqûre de rappel sur les bonnes pratiques et les trucs et astuces à garder en tête en JavaScript.

Si vous appréciez l’interface iOS7 et ses effets parallax, je vous invite à consulter cet article : Parallax UI for PhoneGap and Mobile Web Apps. Vous découvrirez ainsi comment créer une interface parallax en HTML5 et CSS3 pour une application PhoneGap.

2014 sera peut-être l’année où vous testerez un nouveau framework PHP. Pour cela, l’article Best PHP Frameworks for 2014 peut vous aider à choisir celui qui vous semble le plus intéressant. Par exemple, Phalcon est apparemment « Les plus rapide des Frameworks PHP ».

 

 

Utiliser PHP5 sur OVH

Utiliser PHP5 sur OVH

Pour changer la version de PHP qui va exécuter un fichier .php il faut placer un .htaccess sur votre site :

pour PHP 5.2 : SetEnv PHP_VER 5
pour PHP 5.3 : SetEnv PHP_VER 5_3
pour PHP 5.4 : SetEnv PHP_VER 5_4

Source : http://guides.ovh.com/Php5ChezOvh