Blog

Blog posts about programming with PHP, Javascript and other technologies I use regularly.

Show all BulmaCertbotDeployerLinuxNginxNuxtQuasarSymfonyTwigVuejsVuexWebpack

Nuxt Logo

Nuxt Logo

How to integrate AOS in your Nuxt project

published at Sep 15, 2020
#Vuejs#Nuxt

AOS is a popular library that you can use if you want to play animations on scroll. The integration with Nuxt is not obvious. Initially I followed this interesting tutorial. But I have encountered issues similar to those described here or here. Finally, I found my own way. I'll show you my solution in this post.

Parse markdown and highlight code in a Nuxt project

published at Jul 31, 2020
#Vuejs#Nuxt

I recently rebuild my website with Nuxt. For writing posts, I decided to use a headless CMS, named Storyblok. Most of the content in my post are in Markdown. And when I needed to parse Markdown and highlight code, I faced multiple alternatives. Here is the choice I made.

Pass arguments to a Vuex getter

published at Dec 5, 2019
#Vuex#Vuejs#Quasar

Passing arguments to a vuex getter is very useful. It makes them more powerful. However, the syntax to do it is quite tricky. That's why I wrote this post.

Automatically import base components in a Quasar project

published at Nov 21, 2019
#Vuejs#Quasar

A project written in Vuejs, especially the large ones, has lots of base components, like BaseButton, BaseInput, BaseTitle, etc... Those components are often used. If you want to import them automatically in a Quasar project, you could create a boot file to register them globally. Let me show how I did it.

Vuex: one mutation to rule them all

published at Oct 25, 2019
#Vuex#Vuejs

Vuex is a good library, helping a lot in large projects. However, the necessity to write a mutation each time we want to update something is tedious. If you want to develop faster when using vuex, you need to refactor your methods. Let me introduce how I implemented a generic mutation method.

Déployer automatiquement votre projet Symfony grâce à Deployer (1/3)

publié le Jun 30, 2019
#Symfony#Deployer

Deployer est un outil écrit en PHP permettant de déployer automatiquement des projets (PHP ou n'importe quel autre language). Imaginez-vous confortablement assis devant votre machine. Tapez dep deploy sur votre console. Allez prendre un café. Revenez quelques minutes après et votre projet est en ligne. C'est ce que Deployer permet, pour peu que vous ayez trouvé votre recette de déploiement et automatisé le process.

Installez votre certificat de sécurité en quelques minutes seulement grâce à Certbot

publié le Mar 24, 2019
#Nginx#Certbot

Certbot est un programme qui permet de créer des certificats Let's encrypt très facilement. Dans cet article, nous allons installer un certificat de sécurité et activer le protocole https d'un site servi par Nginx, en moins de 5 minutes je vous assure. En prime, nous mettrons en place un cron pour renouveler automatiquement les certificats.

Créer une fonction Twig personnalisée sur Symfony 4

publié le Aug 22, 2018
#Twig#Symfony

Il peut arriver que les fonctions Twig de base ne suffisent pas à réaliser ce que vous souhaitez dans vos templates. Heureusement, Twig est très facilement personnalisable et il s'avère très simple de créer sa propre fonction pour réaliser le besoin client.

Implémentation Javascript des tabs sur Bulma

publié le Aug 4, 2018
#Bulma

J'ai récemment découvert Bulma, un framework CSS. Après avoir réalisé 2 ou 3 projets avec, je dois avouer qu'il est vraiment simple à apprendre et à utiliser. Comparé à Bootstrap ou Materialize, c'est un framework vraiment léger car il ne dépend d'aucune librairie Javascript. La contrepartie de cette absence de dépendances est que c'est à nous, développeur qui l'utilisons, d'implémenter la couche JS pour que fonctionne certains composants, comme le composant Tabs.

Webpack 4: ma configuration pour compiler javascript, html, css, images et fonts

publié le May 6, 2018
#Webpack

Webpack est incontournable pour tout développeur frontend. Tous les frameworks JS (tels React ou Vue) l'utilisent d'ailleurs massivement. Si c'est un outil ultra-puissant pour compiler les assets, il est en revanche difficile de le configurer soi-même. La documentation est longue et le projet très actif évolue à une vitesse telle qu'il est très difficile d'avoir une connaissance parfaite de cette technologie. Dans cet article, je vous propose une configuration possible de webpack 4 pour compiler javascript, html, css, images et fonts.

Mini série: création de commandes pour gérer les membres depuis le terminal (5/5)

publié le Apr 4, 2018
#Symfony

J'ai toujours trouvé pratique d'avoir la possibilité de gérer les membres depuis le terminal, soit pour tester en phase de développement, ou même pour créer en 2 secondes un accès admin à un client. L'objectif de cet article est de créer 2 commandes: l'une pour créer 1 membre, la 2nde pour lui assigner un rôle.

Mini série: réinitialisation du mot de passe (partie 4/5)

publié le Apr 3, 2018

Création d'un espace membre 4ème épisode. L'enjeu de cet article est d'implémenter la réinitialisation du mot de passe. En effet, qui parmi nous n'a pas déjà oublié son password? Un espace membre sans une telle fonctionnalité ne serait pas complet. On s'y consacre donc aujourd'hui.

Mini série: réalisation du formulaire d'inscription (partie 3/5)

publié le Feb 27, 2018

Au terme des parties 1 et 2, le formulaire de connexion fonctionne et nos membres sont récupérés depuis la base de données grâce à l'entité User. Dans cette partie, nous allons réaliser le formulaire d'inscription. Comme à chaque fois, je mettrai en lien le dépôt Github du projet en cours afin que vous puissiez récupérer le code facilement.

Mini série: création d'un espace membre sur Symfony 4 (2/5)

publié le Feb 6, 2018
#Symfony

A la fin de la partie 1, nous pouvions nous connecter et nous déconnecter de notre espace membre. Nous chargions nos membres en utilisant le memory Provider de Symfony. La plupart du temps cependant, vous enregistrerez vos membres en base de données. C'est donc le moment d'utiliser la puissance de Doctrine, de créer une entité User et de l'utiliser comme nouveau provider.

Mini série: création d'un espace membre sur Symfony 4 (1/5)

publié le Feb 2, 2018
#Symfony

Symfony, nouvelle version, 4ème volet, avec son lot de bonnes et moins bonnes surprises. Je passe sur les bonnes, qui ne sont pas l'objet de cette mini-série. La moins bonne concerne FOSUserBundle, qui semble pour le moment ne pas supporter cette nouvelle version. C'est bien dommage. Ce bundle m'avait jusqu'à maintenant rendu de fiers services. On ne se laisse pas abattre pour autant. En s'appuyant sur la documentation Symfony, on devrait pouvoir mettre sur pied un espace membre robuste et sécurisé.

Symfony Logo

Symfony Logo

La gestion des images dans un projet Symfony 3

publié le Oct 7, 2017
#Symfony

Même en utilisant ces 2 bundles incontournables que sont VichUploaderBundle et LiipImagineBundle, la mise en place d'un système de téléchargement et de manipulation d'images sur Symfony est relativement périlleuse. La documentation est loin d'être complète sur le sujet et au terme de nombreux essais sur des projets différents, il semble désormais que je dispose d'un système de gestion d'images robuste.

Comment configurer Nginx pour activer la compression Gzip ?

publié le Oct 4, 2017
#Nginx

La compression Gzip est activée par défaut sur Nginx mais elle ne s'applique que sur les fichiers HTML. Mieux configurer cette fonctionnalité peut considérablement accélérer l'affichage de vos pages web et économiser de la bande passante pour vos usagers. C'est en outre une fonctionnalité très facile à configurer.

Valider simplement un numéro de téléphone sur Symfony

publié le Jul 22, 2017
#Symfony

C'est quelquefois ardu de valider un numéro de téléphone quand il faut prendre en compte les espaces, les éventuels tirets, les indicateurs géographiques, etc. Inutile de s'embarasser d'un enième bundle pour réaliser ça, ou même d'écrire soi-même des expressions régulières pour couvrir toutes les situations. La librairie giggsey/libphonenumber-for-php est très complète sur la question. Je vais vous montrer comment l'intégrer facilement à un projet Symfony en créant une contrainte de validation personnalisée.

Déployer un site Symfony3 sur OVH mutualisé

publié le Jun 16, 2017
#Symfony

Récemment j'ai mis en ligne un site développé avec Symfony3 sur OVH et j'ai eu quelques problèmes pour configurer le serveur. Voici mon retour d'expérience et un focus sur les points importants à vérifier si le déploiement du site pose des difficultés.