Automatisation de relance email, ne développez pas !

Dans le cadre de plusieurs projets, hors du pur développement technique, nos clients nous demandent de mettre en place la couche « Technique / Marketing ».
Voici quelques exemples :

  • Relancer une action non terminée
  • Solliciter un utilisateur qui n’a pas complètement rempli son profil à J+5
  • Envoyer une relance pour l’expiration de sa carte bleue tous les mois tant que cette CB n’est pas à jour

Améliorer l’utilisation du terminal

Si vous utilisez git, que vous adorez la ligne de commande et que certaines tâches vous semblent longues mais que vous ne savez pas comment améliorer tout cela, certaines astuces de cet article pourront sans doute vous aider.

Qualité de code – Intégration de php-git-hooks dans Symfony2

Si vous utilisez GIT comme gestionnaire de version, vous connaissez peut-être déjà les hooks, qui permettent d’ajouter des comportements automatiques qui se déclencheront lorsque vous effectuerez des actions avec votre gestionnaire de sources préféré, comme par exemple lors d’un commit.

Nous allons voir aujourd’hui comment mettre en place la librairie php-git-hooks écrite par bruli, dans votre projet Symfony2 afin de valider la qualité du code de votre projet lors de chaque commit GIT et ainsi limiter votre dette technique.

Header pour les emails transactionnels avec Mailjet, Mailchimp

Dans quasi tous les projets Web, il y a une notion de notification avec notamment les emails transactionnels. Ceux sont les emails envoyés directement par l’application pour notifier une action.
Ex : la validation d’une commande, d’un mot de passe perdu ou tout simplement la validation de l’inscription.

Validation des paramètres passés en GET avec l’OptionsResolver

L’OptionsResolver est mon nouvel ami depuis la 2.1, et je m’en sers assez souvent.

Ci-dessous un petit exemple de l’utilisation de l’OptionsResolver pour valider les paramètres passés en GET sur une action.

On peut être amené à faire ce genre de validation lors de la mise en place d’une API Rest par exemple.

L’idée est de pouvoir définir simplement une liste de paramètres obligatoires et d’autres facultatifs.

OrphanRemoval et Persistance transitive avec Doctrine2

On va voir dans cet article comment supprimer automatiquement des objets qui ne sont plus référencés par leur objet parent.

Prenons l’exemple d’un objet Day qui comporte un ou plusieurs objet Event. Imaginons que nous ayons un formulaire nous permettant d’ajouter et supprimer des objets Events (dans notre formulaire un champ de type Collection) via du javascript. Si on supprime un des éléments de la collection des Event, et qu’on soumet le formulaire, Doctrine2 ne va pas supprimer l’objet tout seul alors que c’est le but souhaité.

Voyons d’abord le principe et comment résoudre ce problème:

Lorsqu’on souhaite qu’une opération soit cascadée le long d’une association, on va indiquer dans le mapping par exemple:
cascade={"persist"}