[{"data":1,"prerenderedAt":475},["ShallowReactive",2],{"post-\u002Ffr\u002Fposts\u002Fenhancing-engagement-notifications-and-other-enhancements":3,"post-link-fr-8c14b61c-fdf9-443a-924b-050b1395910a":229},{"id":4,"title":5,"body":6,"contentId":217,"date":218,"description":219,"extension":220,"meta":221,"navigation":80,"path":222,"rawbody":223,"robots":224,"schemaOrg":224,"seo":225,"sitemap":226,"stem":227,"__hash__":228},"posts\u002Ffr\u002Fposts\u002Fenhancing-engagement-notifications-and-other-enhancements.md","Améliorer l'Engagement : Notifications et Améliorations",{"type":7,"value":8,"toc":213},"minimark",[9,22,33],[10,11,12,13,17,18,21],"p",{},"Au cours des deux dernières semaines, je me suis concentré sur l'amélioration de l'",[14,15,16],"strong",{},"interactivité"," de mon site web. Je crois qu'il est essentiel de permettre aux lecteurs de ",[14,19,20],{},"s'engager"," avec le contenu que je partage et d'interagir les uns avec les autres. Cela peut favoriser des conversations et discussions intéressantes, qui sont essentielles pour apprendre, tant pour vous que pour moi.",[10,23,24,25,28,29,32],{},"J'ai commencé par intégrer des ",[14,26,27],{},"réactions"," à mes articles, puis j'ai mis en place les ",[14,30,31],{},"commentaires",". Vous pouvez en savoir plus sur ces fonctionnalités dans les articles ci-dessous :",[34,35,37],"callout-read-more",{"id":36},"8c14b61c-fdf9-443a-924b-050b1395910a",[34,38,40,65,70,77,87],{"id":39},"d88a0c79-e6a6-48ea-acbd-b003176b3ba6",[10,41,42,43,48,49,53,54,48,57,60,61,64],{},"À la fin de chaque article sur les pages ",[44,45,47],"a",{"href":46},"\u002Ffr\u002Fposts","blog"," et ",[44,50,52],{"href":51},"\u002Ffr\u002Fseries","séries",", vous trouverez deux nouvelles sections : ",[14,55,56],{},"Réactions",[14,58,59],{},"Commentaires",". Avec la première, vous pouvez exprimer vos sentiments sur l'article à l'aide d'emoji prédéfinis. Ce retour est important car il fournit des informations sur le contenu que je partage. Grâce à la seconde, vous pouvez partager vos réflexions, poser des ",[14,62,63],{},"questions"," et engager des discussions avec moi et d'autres lecteurs. J'ai hâte de voir comment ces interactions se développeront avec le temps.",[66,67,69],"h2",{"id":68},"notifications-pour-vous-tenir-informés","Notifications pour Vous Tenir Informés",[10,71,72,73,76],{},"Aujourd'hui, je suis ravi de dévoiler une nouvelle fonctionnalité : ",[14,74,75],{},"notifications",".",[78,79,81,82],"video",{"autoPlay":80,"loop":80,"muted":80,"playsInline":80},true,"\n  ",[83,84],"source",{"src":85,"type":86},"https:\u002F\u002Fimages.soubiran.dev\u002Fposts\u002Fenhancing-engagement-notifications-and-other-enhancements\u002Fnotifications.mp4","video\u002Fmp4",[88,89,90,101,108,111,115,118,132,143,159,165,170,174,184,187,190],"callout-support-my-work",{},[10,91,92,93,96,97,100],{},"Auparavant, si vous postiez un ",[14,94,95],{},"commentaire"," sur l'un de mes articles, il n'y avait aucun moyen de savoir si j'avais répondu ou si quelqu'un d'autre avait réagi. Vous deviez revenir régulièrement vérifier l'",[14,98,99],{},"activité",", ce qui n'est pas pratique au point de devenir frustrant. Vous investissez du temps à écrire, et vous vous attendez à une réponse. Mais si vous n'êtes pas informé quand cela se produit, il est difficile de s'engager dans une conversation.",[10,102,103,104,107],{},"Cela a changé. J'ai mis en place un ",[14,105,106],{},"système de notification"," qui vous alerte lorsque quelqu'un répond à votre commentaire. Dans l'en-tête, une nouvelle icône de cloche affichera un badge lorsque des notifications non lues seront présentes. En cliquant dessus, un panneau s'ouvrira, répertoriant toutes les notifications. Vous pouvez cliquer sur l'une d'elles pour naviguer directement vers l'article et le commentaire. De plus, vous pouvez marquer tout comme lu ou les supprimer.",[10,109,110],{},"Si vous souhaitez l'essayer, laissez un commentaire ci-dessous. Je répondrai, et vous recevrez une notification. Je suis enthousiaste à l'idée de voir comment cela va améliorer les interactions sur mon site web.",[66,112,114],{"id":113},"améliorations-supplémentaires","Améliorations Supplémentaires",[10,116,117],{},"En plus des notifications, j'ai apporté plusieurs autres améliorations à mon site web.",[10,119,120,121,124,125,128,129,76],{},"J'ai développé une page de ",[14,122,123],{},"profil",". Vous pouvez y accéder en cliquant sur le lien dans le pied de page. Elle contient toutes les informations concernant votre compte. Pour l'instant, c'est assez basique, mais je prévois d'ajouter plus de fonctionnalités à l'avenir, comme un ",[14,126,127],{},"tableau de bord"," ou une ",[14,130,131],{},"page de paramètres",[10,133,134,135,138,139,142],{},"J'ai inclus votre ",[14,136,137],{},"photo de profil"," au-dessus de l'en-tête \"Ajouter un Commentaire\" dans la ",[14,140,141],{},"section"," des commentaires. C'est un petit détail, mais maintenant, vous savez quel compte vous utilisez pour interagir.",[10,144,145,146,149,150,154,155,158],{},"Vous pouvez ",[14,147,148],{},"soumettre un commentaire"," en utilisant le raccourci ",[151,152,153],"kbd",{},"Ctrl"," + ",[151,156,157],{},"Entrée",". C'est un raccourci courant pour la soumission de formulaires, et je pense qu'il est essentiel de le fournir.",[10,160,145,161,164],{},[14,162,163],{},"aimer un commentaire"," pour montrer votre appréciation sans répondre. C'est un geste simple qui fait plaisir à celui qui le reçoit. Cette fonctionnalité est également intégrée au système de notification. Si quelqu'un aime votre commentaire, vous recevrez une notification.",[78,166,81,167],{"autoPlay":80,"loop":80,"muted":80,"playsInline":80},[83,168],{"src":169,"type":86},"https:\u002F\u002Fimages.soubiran.dev\u002Fposts\u002Fenhancing-engagement-notifications-and-other-enhancements\u002Fcomment-likes.mp4",[66,171,173],{"id":172},"en-avant","En Avant",[10,175,176,177,180,181,183],{},"J'espère sincèrement que vous apprécierez ces nouvelles fonctionnalités. N'hésitez pas à partager vos pensées à leur sujet par le biais d'une ",[14,178,179],{},"réaction"," ou d'un ",[14,182,95],{},". 💫",[10,185,186],{},"Je suis impatient de continuer à améliorer mon site web et d'ajouter davantage de fonctionnalités, mais j'ai besoin de vos retours. Si vous avez des suggestions ou des idées, n'hésitez pas à les partager avec moi. Je suis ouvert à vos retours qui peuvent m'aider à développer une meilleure expérience utilisateur.",[188,189],"hr",{},[10,191,192,193,196,197,203,204,209,210,212],{},"Toutes ces nouvelles fonctionnalités reposent sur une ",[14,194,195],{},"API"," développée avec ",[44,198,202],{"href":199,"rel":200},"https:\u002F\u002Flaravel.com",[201],"nofollow","Laravel",". J'utilise principalement ",[44,205,208],{"href":206,"rel":207},"https:\u002F\u002Flaravel.com\u002Fdocs\u002F11.x\u002Fnotifications",[201],"Laravel Notifications"," pour construire le ",[14,211,106],{},". Je suis impressionné par la flexibilité et la puissance de Laravel. Avec juste quelques lignes de code, je peux créer un système robuste qui enrichit considérablement mon site web.",{"title":214,"searchDepth":215,"depth":215,"links":216},"",2,[],"9d802f9e-2f40-426f-b636-533b05b8c1a3","2024-10-24","Troisième mise à jour pour mettre en place un système de notifications pour vous aider à échanger avec les autres et avec moi.","md",{},"\u002Ffr\u002Fposts\u002Fenhancing-engagement-notifications-and-other-enhancements","---\ncontentId: 9d802f9e-2f40-426f-b636-533b05b8c1a3\ntitle: \"Améliorer l'Engagement : Notifications et Améliorations\"\ndescription: \"Troisième mise à jour pour mettre en place un système de notifications pour vous aider à échanger avec les autres et avec moi.\"\ndate: 2024-10-24\n---\n\nAu cours des deux dernières semaines, je me suis concentré sur l'amélioration de l'**interactivité** de mon site web. Je crois qu'il est essentiel de permettre aux lecteurs de **s'engager** avec le contenu que je partage et d'interagir les uns avec les autres. Cela peut favoriser des conversations et discussions intéressantes, qui sont essentielles pour apprendre, tant pour vous que pour moi.\n\nJ'ai commencé par intégrer des **réactions** à mes articles, puis j'ai mis en place les **commentaires**. Vous pouvez en savoir plus sur ces fonctionnalités dans les articles ci-dessous :\n\n\u003CCalloutReadMore id=\"8c14b61c-fdf9-443a-924b-050b1395910a\" \u002F>\n\n\u003CCalloutReadMore id=\"d88a0c79-e6a6-48ea-acbd-b003176b3ba6\" \u002F>\n\nÀ la fin de chaque article sur les pages [blog](\u002Ffr\u002Fposts) et [séries](\u002Ffr\u002Fseries), vous trouverez deux nouvelles sections : **Réactions** et **Commentaires**. Avec la première, vous pouvez exprimer vos sentiments sur l'article à l'aide d'emoji prédéfinis. Ce retour est important car il fournit des informations sur le contenu que je partage. Grâce à la seconde, vous pouvez partager vos réflexions, poser des **questions** et engager des discussions avec moi et d'autres lecteurs. J'ai hâte de voir comment ces interactions se développeront avec le temps.\n\n## Notifications pour Vous Tenir Informés\n\nAujourd'hui, je suis ravi de dévoiler une nouvelle fonctionnalité : **notifications**.\n\n\u003Cvideo autoplay loop muted playsinline>\n  \u003Csource src=\"https:\u002F\u002Fimages.soubiran.dev\u002Fposts\u002Fenhancing-engagement-notifications-and-other-enhancements\u002Fnotifications.mp4\" type=\"video\u002Fmp4\">\n\u003C\u002Fvideo>\n\n\u003CCalloutSupportMyWork \u002F>\n\nAuparavant, si vous postiez un **commentaire** sur l'un de mes articles, il n'y avait aucun moyen de savoir si j'avais répondu ou si quelqu'un d'autre avait réagi. Vous deviez revenir régulièrement vérifier l'**activité**, ce qui n'est pas pratique au point de devenir frustrant. Vous investissez du temps à écrire, et vous vous attendez à une réponse. Mais si vous n'êtes pas informé quand cela se produit, il est difficile de s'engager dans une conversation.\n\nCela a changé. J'ai mis en place un **système de notification** qui vous alerte lorsque quelqu'un répond à votre commentaire. Dans l'en-tête, une nouvelle icône de cloche affichera un badge lorsque des notifications non lues seront présentes. En cliquant dessus, un panneau s'ouvrira, répertoriant toutes les notifications. Vous pouvez cliquer sur l'une d'elles pour naviguer directement vers l'article et le commentaire. De plus, vous pouvez marquer tout comme lu ou les supprimer.\n\nSi vous souhaitez l'essayer, laissez un commentaire ci-dessous. Je répondrai, et vous recevrez une notification. Je suis enthousiaste à l'idée de voir comment cela va améliorer les interactions sur mon site web.\n\n## Améliorations Supplémentaires\n\nEn plus des notifications, j'ai apporté plusieurs autres améliorations à mon site web.\n\nJ'ai développé une page de **profil**. Vous pouvez y accéder en cliquant sur le lien dans le pied de page. Elle contient toutes les informations concernant votre compte. Pour l'instant, c'est assez basique, mais je prévois d'ajouter plus de fonctionnalités à l'avenir, comme un **tableau de bord** ou une **page de paramètres**.\n\nJ'ai inclus votre **photo de profil** au-dessus de l'en-tête \"Ajouter un Commentaire\" dans la **section** des commentaires. C'est un petit détail, mais maintenant, vous savez quel compte vous utilisez pour interagir.\n\nVous pouvez **soumettre un commentaire** en utilisant le raccourci \u003Ckbd>Ctrl\u003C\u002Fkbd> + \u003Ckbd>Entrée\u003C\u002Fkbd>. C'est un raccourci courant pour la soumission de formulaires, et je pense qu'il est essentiel de le fournir.\n\nVous pouvez **aimer un commentaire** pour montrer votre appréciation sans répondre. C'est un geste simple qui fait plaisir à celui qui le reçoit. Cette fonctionnalité est également intégrée au système de notification. Si quelqu'un aime votre commentaire, vous recevrez une notification.\n\n\u003Cvideo autoplay loop muted playsinline>\n  \u003Csource src=\"https:\u002F\u002Fimages.soubiran.dev\u002Fposts\u002Fenhancing-engagement-notifications-and-other-enhancements\u002Fcomment-likes.mp4\" type=\"video\u002Fmp4\">\n\u003C\u002Fvideo>\n\n## En Avant\n\nJ'espère sincèrement que vous apprécierez ces nouvelles fonctionnalités. N'hésitez pas à partager vos pensées à leur sujet par le biais d'une **réaction** ou d'un **commentaire**. 💫\n\nJe suis impatient de continuer à améliorer mon site web et d'ajouter davantage de fonctionnalités, mais j'ai besoin de vos retours. Si vous avez des suggestions ou des idées, n'hésitez pas à les partager avec moi. Je suis ouvert à vos retours qui peuvent m'aider à développer une meilleure expérience utilisateur.\n\n---\n\nToutes ces nouvelles fonctionnalités reposent sur une **API** développée avec [Laravel](https:\u002F\u002Flaravel.com). J'utilise principalement [Laravel Notifications](https:\u002F\u002Flaravel.com\u002Fdocs\u002F11.x\u002Fnotifications) pour construire le **système de notification**. Je suis impressionné par la flexibilité et la puissance de Laravel. Avec juste quelques lignes de code, je peux créer un système robuste qui enrichit considérablement mon site web.\n",null,{"title":5,"description":219},{"loc":222},"fr\u002Fposts\u002Fenhancing-engagement-notifications-and-other-enhancements","OZJKxxGpsKfoX_In4l7vDUnlX8fQj_0SsLYNz0jpSew",{"id":230,"title":231,"body":232,"contentId":36,"date":466,"description":467,"extension":220,"meta":468,"navigation":80,"path":469,"rawbody":470,"robots":224,"schemaOrg":224,"seo":471,"sitemap":472,"stem":473,"__hash__":474},"posts\u002Ffr\u002Fposts\u002Fenhancing-engagement-adding-reactions-to-my-articles.md","Améliorer l'Engagement : Ajouter des Réactions aux Articles",{"type":7,"value":233,"toc":460},[234,237,241,254],[10,235,236],{},"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.",[66,238,240],{"id":239},"introduction","Introduction",[10,242,243,244,249,250],{},"En mars 2024, j'ai annoncé la refonte de mon site personnel pour la quatrième fois, cette fois en utilisant ",[44,245,248],{"href":246,"rel":247},"https:\u002F\u002Fvitepress.dev\u002F",[201],"VitePress",". 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. ",[251,252,253],"em",{},"VitePress est vraiment exceptionnel à cet égard.",[34,255,257,261,268,274,283,300,304,315,318,324,328,346,351,354,437,443,452,457],{"id":256},"a06fbfe1-6283-4eed-b3ec-e1d454613b9a",[66,258,260],{"id":259},"explorer-de-nouveaux-horizons","Explorer de Nouveaux Horizons",[10,262,263,264,267],{},"En juin 2024, j'ai commencé à apprendre ",[44,265,202],{"href":199,"rel":266},[201]," pour deux raisons.",[10,269,270,271],{},"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. ",[251,272,273],{},"Et je travaille déjà sur mon premier SaaS 🤫.",[10,275,276,277,282],{},"Deuxièmement, je voulais plus de flexibilité dans mes options de carrière. Depuis le début de mon parcours professionnel, j'ai utilisé ",[44,278,281],{"href":279,"rel":280},"https:\u002F\u002Fangular.dev\u002F",[201],"Angular"," comme principal outil. Je cherche à explorer de nouvelles voies car Angular ne me procure plus la même satisfaction.",[10,284,285],{},[251,286,287,288,293,294,299],{},"J'ai envisagé ",[44,289,292],{"href":290,"rel":291},"https:\u002F\u002Frubyonrails.org\u002F",[201],"Rails",", mais une fois que vous avez expérimenté la documentation de Laravel et ",[44,295,298],{"href":296,"rel":297},"https:\u002F\u002Flaracasts.com\u002Freferral\u002FBarbapapazes",[201],"Laracasts",", le choix devient évident.",[66,301,303],{"id":302},"progresser-par-étapes","Progresser par Étapes",[10,305,306,307],{},"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. ",[251,308,309,310,76],{},"C'est l'essence du ",[44,311,314],{"href":312,"rel":313},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FDivide-and-conquer_algorithm",[201],"diviser pour régner",[10,316,317],{},"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.",[10,319,320,321],{},"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. ",[251,322,323],{},"Jusqu'à présent.",[66,325,327],{"id":326},"faire-le-premier-pas","Faire le Premier Pas",[10,329,330,331,334,335,338,339],{},"Nous y sommes. J'ai décidé de mettre en pace une fonctionnalité permettant de ",[14,332,333],{},"réagir à mes articles en utilisant des emoji prédéfinis",", propulsée par une API développée avec ",[44,336,202],{"href":199,"rel":337},[201],". ",[251,340,341,342,76],{},"Et le front-end continue d'être réalisé avec ",[44,343,248],{"href":344,"rel":345},"https:\u002F\u002Fvitepress.dev",[201],[78,347,81,348],{"autoPlay":80,"loop":80,"muted":80,"playsInline":80},[83,349],{"src":350,"type":86},"https:\u002F\u002Fimages.soubiran.dev\u002Fposts\u002Fenhancing-engagement-adding-reactions-to-my-articles\u002Fdemo.mp4",[10,352,353],{},"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 :",[355,356,357,366,374,393,401,409,418,426],"ul",{},[358,359,360,365],"li",{},[44,361,364],{"href":362,"rel":363},"https:\u002F\u002Flaravel.com\u002Fdocs\u002Fsocialite",[201],"Laravel Socialite"," pour l'authentification GitHub.",[358,367,368,373],{},[44,369,372],{"href":370,"rel":371},"https:\u002F\u002Flaravel.com\u002Fdocs\u002Fsanctum",[201],"Laravel Sanctum"," pour l'authentification API.",[358,375,376,381,382,381,387,392],{},[44,377,380],{"href":378,"rel":379},"https:\u002F\u002Flaravel.com\u002Fdocs\u002Fpint",[201],"Laravel Pint",", ",[44,383,386],{"href":384,"rel":385},"https:\u002F\u002Fphpstan.org\u002F",[201],"PHPStan",[44,388,391],{"href":389,"rel":390},"https:\u002F\u002Fgetrector.org\u002F",[201],"Rector"," pour l'assurance qualité du code.",[358,394,395,400],{},[44,396,399],{"href":397,"rel":398},"https:\u002F\u002Fforge.laravel.com\u002F",[201],"Laravel Forge"," pour le déploiement.",[358,402,403,408],{},[44,404,407],{"href":405,"rel":406},"https:\u002F\u002Fwww.hetzner.com\u002F",[201],"Hetzner"," pour l'infrastructure serveur.",[358,410,411,412,417],{},"Commande personnalisée pour les sauvegardes de base de données et ",[44,413,416],{"href":414,"rel":415},"https:\u002F\u002Fwww.cloudflare.com\u002Fdeveloper-platform\u002Fr2\u002F",[201],"R2"," pour leur stockage.",[358,419,420,425],{},[44,421,424],{"href":422,"rel":423},"https:\u002F\u002Ffilamentphp.com\u002F",[201],"Filament"," pour la gestion du tableau de bord.",[358,427,428,429],{},"Couverture de tests à 100%. ",[251,430,431,432,183],{},"Réaliser avec aisance en utilisant Laravel et ",[44,433,436],{"href":434,"rel":435},"https:\u002F\u002Fpestphp.com\u002F",[201],"Pest",[10,438,439,440],{},"Et c'est à peu près tout. ",[251,441,442],{},"Pas mal pour cinq jours de travail !",[10,444,445,446],{},"La lecture de tout le code source de ",[447,448,451],"git-hub-link",{"repo":449,"name":450},"pinkary-project\u002Fpinkary.com","Pinkary Project"," a considérablement amélioré ma compréhension de ces outils et du processus de construction d'une application Laravel.",[10,453,454],{},[251,455,456],{},"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.",[10,458,459],{},"Alors, qu'en pensez-vous ? ⬇️",{"title":214,"searchDepth":215,"depth":215,"links":461},[462,463,464,465],{"id":239,"depth":215,"text":240},{"id":259,"depth":215,"text":260},{"id":302,"depth":215,"text":303},{"id":326,"depth":215,"text":327},"2024-10-01","Phase initiale mais cruciale d'un projet important qui m'accompagnera dans les mois à venir en ouvrant la possibilité de réagir à mes articles.",{},"\u002Ffr\u002Fposts\u002Fenhancing-engagement-adding-reactions-to-my-articles","---\ncontentId: 8c14b61c-fdf9-443a-924b-050b1395910a\ntitle: \"Améliorer l'Engagement : Ajouter des Réactions aux Articles\"\ndescription: Phase initiale mais cruciale d'un projet important qui m'accompagnera dans les mois à venir en ouvrant la possibilité de réagir à mes articles.\ndate: 2024-10-01\n---\n\nSalut ! 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.\n\n## Introduction\n\nEn mars 2024, j'ai annoncé la refonte de mon site personnel pour la quatrième fois, cette fois en utilisant [VitePress](https:\u002F\u002Fvitepress.dev\u002F). 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._\n\n\u003CCalloutReadMore id=\"a06fbfe1-6283-4eed-b3ec-e1d454613b9a\" \u002F>\n\n## Explorer de Nouveaux Horizons\n\nEn juin 2024, j'ai commencé à apprendre [Laravel](https:\u002F\u002Flaravel.com) pour deux raisons.\n\nTout 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 🤫._\n\nDeuxiè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:\u002F\u002Fangular.dev\u002F) comme principal outil. Je cherche à explorer de nouvelles voies car Angular ne me procure plus la même satisfaction.\n\n_J'ai envisagé [Rails](https:\u002F\u002Frubyonrails.org\u002F), mais une fois que vous avez expérimenté la documentation de Laravel et [Laracasts](https:\u002F\u002Flaracasts.com\u002Freferral\u002FBarbapapazes), le choix devient évident._\n\n## Progresser par Étapes\n\nS'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:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FDivide-and-conquer_algorithm)._\n\nJe 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.\n\nDans 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._\n\n## Faire le Premier Pas\n\nNous 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:\u002F\u002Flaravel.com). _Et le front-end continue d'être réalisé avec [VitePress](https:\u002F\u002Fvitepress.dev)._\n\n\u003Cvideo autoplay loop muted playsinline>\n  \u003Csource src=\"https:\u002F\u002Fimages.soubiran.dev\u002Fposts\u002Fenhancing-engagement-adding-reactions-to-my-articles\u002Fdemo.mp4\" type=\"video\u002Fmp4\">\n\u003C\u002Fvideo>\n\nAu 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 :\n\n- [Laravel Socialite](https:\u002F\u002Flaravel.com\u002Fdocs\u002Fsocialite) pour l'authentification GitHub.\n- [Laravel Sanctum](https:\u002F\u002Flaravel.com\u002Fdocs\u002Fsanctum) pour l'authentification API.\n- [Laravel Pint](https:\u002F\u002Flaravel.com\u002Fdocs\u002Fpint), [PHPStan](https:\u002F\u002Fphpstan.org\u002F), [Rector](https:\u002F\u002Fgetrector.org\u002F) pour l'assurance qualité du code.\n- [Laravel Forge](https:\u002F\u002Fforge.laravel.com\u002F) pour le déploiement.\n- [Hetzner](https:\u002F\u002Fwww.hetzner.com\u002F) pour l'infrastructure serveur.\n- Commande personnalisée pour les sauvegardes de base de données et [R2](https:\u002F\u002Fwww.cloudflare.com\u002Fdeveloper-platform\u002Fr2\u002F) pour leur stockage.\n- [Filament](https:\u002F\u002Ffilamentphp.com\u002F) pour la gestion du tableau de bord.\n- Couverture de tests à 100%. _Réaliser avec aisance en utilisant Laravel et [Pest](https:\u002F\u002Fpestphp.com\u002F). 💫_\n\nEt c'est à peu près tout. _Pas mal pour cinq jours de travail !_\n\nLa lecture de tout le code source de \u003CGitHubLink repo=\"pinkary-project\u002Fpinkary.com\" name=\"Pinkary Project\" \u002F> a considérablement amélioré ma compréhension de ces outils et du processus de construction d'une application Laravel.\n\n_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._\n\nAlors, qu'en pensez-vous ? ⬇️\n",{"title":231,"description":467},{"loc":469},"fr\u002Fposts\u002Fenhancing-engagement-adding-reactions-to-my-articles","oiTcCfUTIJYVnsflsj6VK9zGk2MF3DhXd7FO_THoOmk",1790086903959]