Force-download avec Symfony

Aujourd’hui, nous allons aborder quelque chose de simple et répandu sur la plupart des sites Internet de nos jours : le téléchargement de fichiers.

Bien sûr, il ne s’agit pas de permettre aux utilisateurs de télécharger votre dernier rush de photos nocturnes sous forme d’archive zip, ou encore les rapports de la dernière assemblée générale de votre association en PDF; car ceci ne nécessite en rien l’intervention de symfony.

Par contre, dès qu’une action doit être entreprise pour vérifier l’authenticité de l’utilisateur, ou ne serait-ce qu’une table de log pour savoir qui a téléchargé quel fichier, on va avoir besoin de symfony (à moins d’avoir envie de réinventer la roue).
Lire la suite de l’article

Exemple d’application utilisant la Graph API de Facebook

Facebook a lancé il y a maintenant quelques mois sa nouvelle Graph API, qui permet d’accèder et d’interagir avec les informations Facebook de l’utilisateur encore plus simplement. Seuelement la documentation qui l’entoure se fait encore rare et peu détaillée. Je vais donc profiter de cet article pour présenter quelques aspects de cette nouvelle API à l’aide d’une petite iframe application Facebook, et avec Symfony (pour rester dans la thématique du blog !).

Lire la suite de l’article

Validation d’un numéro siret : sfValidatorSiret

Bonjour,

comme vous avez pu le voir avec les récents posts, nous avons eu pas mal de gestion de facturation: conversion de devises, validation d’un numéro de tva intracommunautaire.

Pour continuer sur la lancée, nous allons faire un petit validator sur les numéros siret.

Lire la suite de l’article

Tips : Conversions de devises

Aujourd’hui je vous montre juste une petite astuce pour avoir les taux de conversion de l’Euro vers d’autres devises.

Le site de la banque centrale Européenne publie tous les jours un fichier XML contenant les taux de conversion à jour.

Il fournit également un morceau de code donnant un exemple de manipulation
Lire la suite de l’article

Valider un numéro de TVA intracommunautaire

Aujourd’hui il est courant d’avoir à développer des sites avec abonnement, mise à disposition de service payant en ligne et autre, à l’échelle internationale et à des professionnels.

Or il se trouve que dans une situation pareille intervient la notion de TVA, où la responsabilité du développeur (ou de son employeur) peut être mise en jeu (ainsi que celle du client, mais ça…).

Lors du paiement, un client professionnel (une société, entreprise, personne morale quoi) devra saisir son numéro de TVA ainsi que son pays pour que le montant de la TVA correspondant soit calculé puisqu’il change d’un pays à l’autre.
Le site http://ec.europa.eu/ propose un webService permettant de vérifier cela.

Moi, je vous propose un validator personnalisé pour valider le numéro de TVA entré dès la validation du formulaire, basé sur ce webService.
Lire la suite de l’article

Doctrine_Collection et hydration hiérarchisée.

En ce moment nous sommes en train de travailler sur un site de collectionneurs et nous avons le plaisir de tomber sur quelques cas intéressants au niveau développement ce qui n’est pas pour nous déplaire. Ce site contient une grosse partie sur la gestion des zones géographiques, on a décidé d’utiliser le behavior Nestedset ce qui nous permet de gérer facilement les différentes arborescences : « Continent > Pays > état » ou « Continent > Pays > Région » ou encore « Continent > Pays / Ancien Pays ».
Lire la suite de l’article

Retour sur le plugin Commentaires, partie administration

J’espère que vous vous souvenez du post concernant le plugin / behavior sfLexikDoctrineActAsCommentablePlugin.
Je vous avais promis une deuxième partie sur l’administration des commentaires, et bien après quelques mois d’absence me revoilà pour tenir ma promesse.
Lire la suite de l’article

Utilisation de sfUser et de ses « namespace »(s)

Récemment j’ai du développer un outil permettant de créer des tournois, cet outil a la particularité d’être accessible par les personnes connectés ou non. Je devais conserver d’une page à l’autre les informations saisies par mon utilisateur, pour quelqu’un de connecté on peut toujours passer par la base de donnée mais pour les autres on doit jouer avec la classe sfUser.
Lire la suite de l’article

Tips : Symfony 1.3/1.4 orderBy des relations

Depuis la branche 1.3/1.4 la gestion des relations a été bien enrichie.

Au niveau des formulaire l’apparition du EmbedRelation a vraiment facilité l’implémentation des embedForm. Je ne vais pas reprendre l’explication de cette fonctionnalité dans cet article et vous renvoie donc vers le très bon article de NiKo sur son blog (En anglais).

Petit problème, l’ordre de tri de la Doctrine_Collection retrounée qui est … Lire la suite de l’article

sfLexikDoctrineActAsCommentablePlugin ou comment rendre des objets commentables via un behavior / plugin

Aujourd’hui je vais vous montrer comment rendre des objets commentables grâce à un behavior Doctrine que j’ai créé, et le plugin qui permet de l’exploiter.

Le behavior donne les fonctionnalités, le plugin donne le modèle et l’affichage ainsi que les actions (listing des commentaires, formulaire d’ajout de commentaire, …)

Je me suis basé sur le behavior Doctrine Taggable fourni à l’origine pour réaliser ceci.

Le behavior et le plugin ne sont pas utilisable l’un sans l’autre.

Lire la suite de l’article

     Next Page »