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.

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 ».

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.

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.

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 …