Utilisation de sfDoctrineGuardPlugin pour la gestion des utilisateurs

sfDoctrineGuardPlugin comme son nom l’indique est la version Doctrine de sfGuardPlugin qui est THE plugin de gestion des utilisateurs de Symfony.

Il comporte des formulaires d’identification et d’inscription très basique, mais son principal point fort est la gestion des droits associés aux utilisateurs, la possibilité de gérer des groupes le tout générant automatiquement les crédentials qui va permettre de sécuriser l’application de manière très simple.

Faisons un peu de référencement avec symfony

Tout site internet qui se respecte et qui veut atteindre un trafic correct doit effectuer un travail sur son SERP.

Symfony étant un Framework et non un CMS on ne trouve pas énormément d’informations concernant le SEO. Cependant pour quelques sites que Lexik a lancé récemment nous nous sommes penché un peu sur l’optimisation de notre référencement.

< !

Attention il ne s’agit la que de quelques conseils primaires rien de bien révolutionnaire. Prétendre ressortir premier sur Google en quelques lignes et serait un pure escroquerie.

Colonnes de recherche perso dans le filter de l’admin generator, avec Doctrine

Comment faire pour filtrer l’affichage dans l’admin generator lorsqu’on a à faire à un champs qui n’est pas dans la table considérée ?

Un exemple ici : j’ai des utilisateurs, avec la table User, mais j’ai aussi une table sfGuardUser.

Ma table User contient les infos globales de mes utilisateurs, alors que la table sfGuardUser contient les informations d’identification et permet également de récupérer les infos sur les permissions, les groupes, etc.

Voilà le problème : j’ai dans le listing de mes utilisateurs ajouté la colonne « Administrateur ? », indiquant si l’utilisateur est admin ou non (vous l’aurez compris…), pour cela il m’a suffit de rajouter la méthode getIsAdmin() dans ma classe User.class.php (lib/model/doctrine/User.class.php), et le champs is_admin dans le generator.yml de mon module user dans le backend (apps/backend/modules/user/config/generator.yml). (cf jobeet n°12)

Schema.yml Doctrine, Bonnes pratiques, Convention de nommage et fonctions magiques

On s’est rendu compte ici qu’il y avait pas mal de questions en rapport avec le schema.yml qui ressortaient régulièrement.

Le schema.yml est généralement trop vite oublié. C’est facile à faire, ça génère la base sans trop se poser de questions, et puis on l’oublie… Alors que le schema.yml est certainement le fichier le plus important d’une application Symfony.

Je vais donc essayer de regrouper dans ce post les questions auxquelles on répond généralement par « Regardes dans ton schema.yml » où « Comment est ce que tu l’as défini dans ton schema.yml ? ».

Notamment au niveau des définitions des relations et les méthodes magiques qui en découlent.

Petit système de vote en AJAX

Le système que je vous propose est assez simpliste : il s’agit d’un vote type « j’aime / j’aime pas ».

On dispose d’un ensemble d’éléments (ici des messages) que l’on nous propose de noter.

Dans une première étape, le principe est de créer le système de vote, dans une deuxième étape on limitera les votes : un visiteur ne peut voter sur un élément qu’une fois par jour.
(Attention, ne pas pas oublier d’ajouter les include et use_javascript dans le layout de votre appli)