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.

Infrastructure scalable et Symfony2

Si votre projet web prend de l’ampleur, une architecture orientée autour d’un simple serveur dédié, comme on le voit souvant, deviendra probablement insuffisante pour faire tourner votre application Symfony2.
Absorber des pics de charges, réduire les risques liés à la panne, … de nombreuses raisons peuvent vous ammener à adopter une infrastructure scalable composée de plusieurs serveurs.

Tour d’horizon des principales problématiques inhérentes à la mise en place de ce type d’architecture pour son projet Symfony2, d’un point de vue développeur.

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.

Doctrine postRemove et extension SoftDelete

Avez-vous déjà utilisé l’extension SoftDelete fournie par la librairie Doctrine Extensions ?

Si oui peut être vous êtes vous aperçu que l’événement postRemove habituellement intercepté par vos listeners / suscribers lors de la suppression d’une entité ne l’est plus lorsque celle-ci est marquée comme SoftDeleteable.

Pas de panique, ne jetez pas votre code ! En mode SoftDelete le nom de l’événement à écouter est postSoftDelete, et il est aussi de type LifecycleEventArgs. La logique de vos listeners / suscribers n’a donc pas besoin d’être modifiée.

Hierarchical facets avec Elasticsearch

Elasticsearch est devenu un outil incontournable pour l’indexation de documents et la recherche textuelle. Un des rares reproches qui pouvait lui être fait il y a quelques mois était son absence de support des facets hiérarchiques. Il s’agit en effet d’une fonctionnalité très utile et demandée dans les sites e-commerce.

Pour ceux qui ne seraient pas familiers avec le vocabulaire des moteurs de recherche, une « facet » (ou recherche à facette en français) permet de regrouper des données sur des résultats de recherche. Elles sont calculées en temps réel et on les retrouve très souvent sur les catégories d’un site e-commerce. Les facets permettent par exemple de retrouver toutes les catégories associées à des résultats de recherche, avec le nombre d’éléments correspondants.

Implémentation d’un client RESTful avec une Description Guzzle

De nos jours de nombreuses problématiques liées au développement d’un site marchand peuvent voir leur traitement simplifié et externalisé via des API; par exemple le paiement en ligne, la facturation, ou l’envoi d’emails. Dans le cadre de cet article, nous allons créer un service pour s’interfacer avec l’API de facturation de matpe.fr.