---
contentId: 8c14b61c-fdf9-443a-924b-050b1395910a
title: "Améliorer l'Engagement : Ajouter des Réactions aux Articles"
description: Phase initiale mais cruciale d'un projet important qui m'accompagnera dans les mois à venir en ouvrant la possibilité de réagir à mes articles.
date: 2024-10-01
---

Salut ! J'espère que vous allez bien. Je suis ravi de partager avec toi le début d'un projet significatif qui m'accompagnera dans les mois à venir.

## Introduction

En mars 2024, j'ai annoncé la refonte de mon site personnel pour la quatrième fois, cette fois en utilisant [VitePress](https://vitepress.dev/). Cette décision a été guidée par le désir d'un outil à la fois simplifié et robuste, qui me permet d'écrire facilement et rapidement tout en conservant le contrôle sur le design et les fonctionnalités. _VitePress est vraiment exceptionnel à cet égard._

<CalloutReadMore id="a06fbfe1-6283-4eed-b3ec-e1d454613b9a" />

## Explorer de Nouveaux Horizons

En juin 2024, j'ai commencé à apprendre [Laravel](https://laravel.com) pour deux raisons.

Tout d'abord, je cherchais à élargir mon expertise et mes compétences en développement web. Je veux créer des applications de A à Z, transformer des idées en réalité sans trop dépendre des services externes. _Et je travaille déjà sur mon premier SaaS 🤫._

Deuxièmement, je voulais plus de flexibilité dans mes options de carrière. Depuis le début de mon parcours professionnel, j'ai utilisé [Angular](https://angular.dev/) comme principal outil. Je cherche à explorer de nouvelles voies car Angular ne me procure plus la même satisfaction.

_J'ai envisagé [Rails](https://rubyonrails.org/), mais une fois que vous avez expérimenté la documentation de Laravel et [Laracasts](https://laracasts.com/referral/Barbapapazes), le choix devient évident._

## Progresser par Étapes

S'attaquer à la première raison nécessite un temps et un effort considérables. C'est une initiative à long terme que je perçois comme un défi majeur. Bien que je ne sache peut-être pas exactement par où commencer ou comment le parcours se déroulera, je suis clair sur mon objectif ultime. Comme pour tous les défis, la meilleure approche est de les décomposer en tâches plus petites et gérables, de les résoudre individuellement, puis d'intégrer les solutions. _C'est l'essence du [diviser pour régner](https://en.wikipedia.org/wiki/Divide-and-conquer_algorithm)._

Je crois profondément que le moyen le plus efficace d'apprendre est à travers des projets concrets. Pas juste une simple to-do app, mais quelque chose de fonctionnel avec un vrai but.

Dans le même temps, j'aimerai faciliter l'engagement sur mon site. C'est beaucoup plus agréable de partager et de converser, d'avoir des interactions avec les autres. Pendant des mois, j'ai réfléchi à des ajouts pour mon site mais j'ai eu du mal à trouver une idée pratique, engageante et utile. _Jusqu'à présent._

## Faire le Premier Pas

Nous y sommes. J'ai décidé de mettre en pace une fonctionnalité permettant de **réagir à mes articles en utilisant des emoji prédéfinis**, propulsée par une API développée avec [Laravel](https://laravel.com). _Et le front-end continue d'être réalisé avec [VitePress](https://vitepress.dev)._

<video autoplay loop muted playsinline>
  <source src="https://images.soubiran.dev/posts/enhancing-engagement-adding-reactions-to-my-articles/demo.mp4" type="video/mp4">
</video>

Au départ, cela peut sembler être une fonctionnalité mineure, et c'est vrai ; ce n'est pas si grand, mais pour un premier pas, cela suffit. Dans ce processus, j'ai abordé de nombreux concepts différents :

- [Laravel Socialite](https://laravel.com/docs/socialite) pour l'authentification GitHub.
- [Laravel Sanctum](https://laravel.com/docs/sanctum) pour l'authentification API.
- [Laravel Pint](https://laravel.com/docs/pint), [PHPStan](https://phpstan.org/), [Rector](https://getrector.org/) pour l'assurance qualité du code.
- [Laravel Forge](https://forge.laravel.com/) pour le déploiement.
- [Hetzner](https://www.hetzner.com/) pour l'infrastructure serveur.
- Commande personnalisée pour les sauvegardes de base de données et [R2](https://www.cloudflare.com/developer-platform/r2/) pour leur stockage.
- [Filament](https://filamentphp.com/) pour la gestion du tableau de bord.
- Couverture de tests à 100%. _Réaliser avec aisance en utilisant Laravel et [Pest](https://pestphp.com/). 💫_

Et c'est à peu près tout. _Pas mal pour cinq jours de travail !_

La lecture de tout le code source de <GitHubLink repo="pinkary-project/pinkary.com" name="Pinkary Project" /> a considérablement amélioré ma compréhension de ces outils et du processus de construction d'une application Laravel.

_Un des aspects majeurs de cette étape est de poser les bases pour plus de fonctionnalités sur mon site et de nombreux articles pour partager ce que j'ai appris._

Alors, qu'en pensez-vous ? ⬇️
