Archives de catégorie : Ressources Utiles

Symfony – Best Bundles

En tant que développeur Symfony, j’essaye lorsque c’est possible, de ne jamais réinventer la roue. Cela tombe bien car Symfony et sa vaste communauté, offrent de nombreux Bundles très bien faits répondant aux besoins les plus courants notamment en terme d’implémentation de bonnes pratiques.

Devenez un expert en utilisant les « Best Bundles » Symfony

The FOSUserBundle adds support for a database-backed user system in Symfony2. It provides a flexible framework for user management that aims to handle common tasks such as user registration and password retrieval.

This bundle provides various tools to rapidly develop RESTful API’s & applications with Symfony2.

Elastica and ElasticSearch integration in Symfony2

This Bundle provides a Symfony2 authentication provider so that users can login to a Symfony2 application via Facebook. Furthermore via custom user provider support the Facebook login can also be integrated with other data sources like the database based solution provided by FOSUserBundle.

JMSDiExtraBundle adds more powerful dependency injection features to Symfony2

This bundle allows you to create i18n routes.

This bundle adds AOP capabilities to Symfony2.

If you haven’t heard of AOP yet, it basically allows you to separate a cross-cutting concern (for example, security checks) into a dedicated class, and not having to repeat that code in all places where it is needed.

In other words, this allows you to execute custom code before, and after the invocation of certain methods in your service layer, or your controllers. You can also choose to skip the invocation of the original method, or throw exceptions.

XHProf is a hierarchical profiler for PHP. It reports function-level call counts and inclusive and exclusive metrics such as wall (elapsed) time, CPU time and memory usage. A function’s profile can be broken down by callers or callees. The raw data collection component is implemented in C as a PHP Zend extension called xhprof. XHProf has a simple HTML based user interface (written in PHP). The browser based UI for viewing profiler results makes it easy to view results or to share results with peers. A callgraph image view is also supported.

This bundle is a fork of AvalancheImagineBundle which provides easy image manipulation support for Symfony2. The goal of the fork is to make the code more extensible and as a result applicable for more use cases.

This php 5.4+ library is a collection of traits that add behaviors to Doctrine2 entites and repositories.

This bundle integrates the Doctrine2 Migrations library. into Symfony so that you can safely and quickly manage database migrations.

Provide markdown conversion (based on Michel Fortin work) to your Symfony2 projects.

Alice allows you to create a ton of fixtures/fake data for use while developing or testing your project. It gives you a few essential tools to make it very easy to generate complex data with constraints in a readable and easy to edit way, so that everyone on your team can tweak the fixtures if needed.

It adds in your WebProfiler extra sections (routing, container, twig,…)

This bundle allows you to expose your routing in your JavaScript code. That means you’ll be able to generate URL with given parameters like you can do with the Router component provided in the Symfony2 core.

Pour finir…

…la liste n’est bien sûr pas exhaustive, retenez que vous trouverez souvent des bundles existant répondant à vos besoins. Attention cependant, car certains sont de meilleure qualité que d’autres, certains sont bien maintenus d’autres pas, enfin plus grave, certains ne fonctionnent pas ou contiennent de nombreux bugs. Alors attention !

Quelques liens utiles

Awesome PHP

Une ressource inestimable découverte ce WE pour tous les développeurs PHP : Awesome PHP

A curated list of amazingly awesome PHP libraries, resources and shiny things.

Vous y trouverez une liste régulièrement mise à jour de librairies de qualité pour répondre à différentes problématiques. La liste est classé par catégorie : AwesomePHP

Configuration GIT (utilisateur, adresse email, éditeur par défaut…)

Juste parce que je ne m’en rappelle jamais !

# Configuration du user
git config user.name "Olivier Balais"
git config user.email obalais@overnetcity.com

# Divers
git config core.editor "vim"
git config core.fileMode false
git config --add color.ui true
git config push.default current

# Configuration des alias
git config alias.st status

Une commande bien utile lorsqu’on a oublié de configurer son user et qu’on a déjà fait un ou plusieurs commits :

git commit --amend --author "Olivier Balais <obalais@overnetcity.com>"

Et rajouter l’option --global pour que la configuration soit commune à tous les dépôts :

# Configuration du user
git config --global user.name "Olivier Balais"
git config --global user.email obalais@overnetcity.com

# Divers
git config --global core.editor "vim"
git config --global core.fileMode false
git config --add color.ui true
git config --global push.default current

# Configuration des alias
git config --global alias.st status

Les ressources utiles du mois de Février (et +)

Et ben… Moi qui pensais rédiger chaque mois un article regroupant les meilleur liens sur lesquels je tombe, je viens de constater que le dernier (et aussi le premier) posté dans cette rubrique date de… Juillet.
Allez j’ai une excuse, pendant ce temps, je suis parti plusieurs mois en roadtrip à l’autre bout du monde…

Depuis mon retour en France, j’ai repris les choses sérieuses et ai de nouveau le loisir de glaner ci et là de bonnes ressources pour le boulot (et pour ma culture).

Voici donc ma sélection pour le mois de Février.

Isotope

Isotope est un plugin jQuery fantastique. Il permet de réorganiser à la volée l’affichage d’éléments au sein d’une page Web en fonction de différents critères qu’il suffit au développeur de définir (ordre, type, taille de l’écran…).

Je vais très prochainement l’intégrer à l’un de mes projets pour faire un joli filtrage dynamique d’items.

URL : http://isotope.metafizzy.co/

Osez créer un site HTML5 et CSS3

Raphael Goetter du site Alsacréations nous démontre dans un très bon article qu’il est possible aujourd’hui de développer un site en HTML5 et CSS3. Il explique quels compromis il a dû faire pour les anciens navigateurs et quelles sont les parades pour ne pas rendre son site complètement inaccessible sur ces derniers.

Pour ma part, c’est cet article qui m’a convaincu de développer ma prochaine appli web en HTML5, malgré la part encore très importante de personnes utilisant IE6, 7 et 8.

URL : http://www.alsacreations.com/article/lire/947-osez-creer-site-html5-css3.html

Jquery Mobile DateBox

Enfin, et parce que je m’intéresse tout particulièrement à l’actualité concernant jQuery Mobile, je vous signale l’apparition d’un petit widget pour vos webapp mobiles, vous permettant de renseigner un champs date de manière simple et efficace.

Une simple ligne de code dans votre template et le tour est joué :

<input name="somedate" type="date" />

URL : http://dev.jtsage.com/jQM-DateBox/

Formalize

Formalize est un plugin jQuery (également disponible pour d’autres frameworks JS (Dojo, ExtJS, MooTools, Prototype et YUI) qui facilite la tâche du développeur lors de la création et de la mise en forme des formulaires. Il offre une mise en page standardisée sur tous les navigateurs de vos forms et offre le support de certaines propriétés CSS3 non implémentées dans les anciens navigateurs.

URL : http://formalize.me/

Démo : http://formalize.me/demo.html

Quovolver

Grâce à ce plugin, en une seule ligne de code, présentez joliment et efficacement un ensemble de quotes au sein d’un même bloc.

$('blockquote').quovolver();

URL : http://sandbox.sebnitu.com/jquery/quovolver/