Goodbye Framer, Hello React !
Tadaaaaaa ! đ€©
Alors, tâen penses quoi ?! Perso, je suis pas fan du light mode. Je sais pas comment faire moins blanc, mais que ça reste joli. Jây travaillerai Ă lâoccasion. Par contre, le dark mode, je lâadore đ
COMMENT JâAI CREE MON BLOG
Alors au risque de te dĂ©cevoir, jâai commencĂ© par suivre un tuto⊠oui, je sais ce que tu penses : âtrop nul, en fait elle a rien fait quoi ! â
Mais dĂ©trompe toi ^^ Oui, jâai suivi un tuto trĂšs bien fait sur la chaĂźne de Jolly Coding. Pendant 4 soirĂ©es, jâai suivi pas Ă pas les instructions, en prenant soin de comprendre un minimum ce que je faisais. Eh oui, le blog est en React et Next, et je ne suis pas encore formĂ©e. Pour autant, grĂące Ă la formation BeginJavaScript que jâai suivie, et Ă sa petite introduction Ă React, jâĂ©tais pas totalement perdue.
Si jâai choisi ce tuto, câest parce quâon mâavait parlĂ© dâutiliser des fichiers Markdown pour gĂ©rer les posts et jâai tout de suite accrochĂ© Ă lâidĂ©e. Simple mais efficace, on peut crĂ©er un article en quelques secondes, faire la mise en forme Ă la volĂ©e, et publier avec un simple âcommitâ. Ca faisait quelques temps que je cherchais comment crĂ©er mon propre CMS, et voilĂ que la personne me donne le lien vers le repo github de Jolly Coding. J'ouvre la vidĂ©o YouTube et ni une ni deux, je me lance ! đ
Mettre en application tout ce que jâai vu dans ce tuto, mâa permis de comprendre comment crĂ©er et utiliser un composant React. Et suite Ă ces 4 sessions de copie pure et simple, jâai pu crĂ©er moi-mĂȘme plusieurs autres composants et les intĂ©grer Ă mon blog. Jâai pu customiser le thĂšme dark, les polices, etcâŠ
Mais câest pas tout ! Jâai appris Ă utiliser shadcnUi et Zod pour crĂ©er le formulaire dâabonnement Ă mon blog (que tu nâoublieras pas de remplir bien sĂ»r đ) et valider les champs avant lâenvoi. PlutĂŽt easy cette partie.
Mais ensuite, je me suis cassĂ© les dents toute une aprĂšs-midi sur Resend ! pour configurer lâenvoi dâun mail lors dâun nouvel abonnement ! 4 heures !! juste pour ça ! Parce que les documentations, câest bien hein⊠mais alors câest vraiment pas explicite pour les dĂ©butants ! đČ
Etape 1 : installer resend
Easy !
Etape 2 : crĂ©er le composant âemail templateâ
Easy aussi, jâai juste Ă personnaliser mon texte et câest good !
Etape 3 : envoyer lâemail
Câest lĂ que ça se corse ! DĂ©jĂ , il faut choisir entre deux mĂ©thodes selon si on utilise Pages Router ou App Router⊠heeuuu⊠nanni ??! đ€
Tu cliques sur Pages Router pour voir ce que câest :
_API routes provide a solution to build a public API with Next.js. Any file inside the folderÂ
pages/api
 is mapped toÂ/api/_
 and will be treated as an API endpoint instead of aÂpage
. They are server-side only bundles and won't increase your client-side bundle size.*
heu ok ? đ
Puis tu cliques sur App Router :
Route Handlers allow you to create custom request handlers for a given route using the Web Request and Response APIs.
Me voilĂ bien avancĂ©e⊠đ
En regardant la structure de mon blog, je vois que jâai un dossier app, mais pas de dossier pages. Jâen conclus donc que je dois utiliser la 2e solution ?! đ€·ââïž
Je me pĂšte les dents plusieurs heures sur cette solution, sans succĂšs, je baisse les bras⊠Je tente la seconde solution. En suivant uniquement la doc de Resend, aucune chance que je rĂ©ussisse Ă mettre en place lâenvoi des mails. Jâai dĂ» mâaider de mon fidĂšle mentor et assistant, mon customGPT spĂ©cialisĂ© :
Et enfin, 4 heures et 1 million de tests plus tard, ça FONCTIONNE !! đ€Ż đ„ł Et cette sensation dâaccomplissement, câest juste ULTIME đ Je pense que les devs sont droguĂ©s Ă cette sensation et que c'est pour ça qu'ils acceptent de passer des heures Ă galĂ©rer sur de nouveaux dĂ©fis đ€Ł
AprĂšs ça, jâai passĂ© quelques heures Ă customiser mes mails, recrĂ©er tous mes anciens articles dans des fichiers Markdown, et enfin mon blog Ă©tait prĂȘt đ
Et comme je suis un peu âfadadeâ comme on dit par chez moi, jâai tenu Ă crĂ©er une petite âanimationâ de fondu au noir pour la transition entre lâancien et le nouveau blog et ça mâa pris⊠une aprĂšs-midi de plus đ
Ce qui a Ă©tĂ© compliquĂ©, ce nâest pas spĂ©cialement la mise en place, mais de trouver quelle solution utiliser ! Encore une fois, il semble quâil y ait pas mal de façons de faire (utiliser <style>
dans le HTML du composant, utiliser useEffect/useState, etcâŠ) mais je nâai rĂ©ussi Ă implĂ©menter aucune de ces solutions⊠Je ne suis clairement pas assez expĂ©rimentĂ©e pour utiliser les useState et/ou mon Code Mentor me dit parfois de la merde ?! Toutes mes recherches Google nâont rien donnĂ©âŠ
JusquâĂ ce que je rĂ©alise que je pouvais utiliser des variables dans le HTML en utilisant des accolades (je le savais dĂ©jĂ mais jâavais oubliĂ© lol) Et donc, un simple script en JavaScript a fait le cafĂ© en quelques minutesâŠ. HĂ© oui, câest aussi ça ĂȘtre dev ! Trouver quelle solution implĂ©menter, en fonction du contexte, des possibilitĂ©s, des compĂ©tences, etc.
Donc OUI, jâai suivi un tuto pour crĂ©er mon blog, mais je nâai pas fait que ça !
Jâai appris Ă :
- créer et utiliser un composant React
- utiliser Velite pour gérer mes posts au format Markdown
- utiliser Next pour le SEO, les routesâŠ
- utiliser shadcnUi et Zod pour créer un formulaire sûr
- utiliser Resend avec son API
Il y a tout juste 3 mois, je ne connaissais pas tout ça, et je ne connaissais pas non plus HTML, CSS, JavaScript, le DOM, Tailwind, les API, VSCode, Github, âŠ.
Et câest pour tout ça que je suis fiĂšre de ce que jâai rĂ©alisĂ© ^^ Câest pas grand chose pour certains, mais pour moi, câest beaucoup de choses supplĂ©mentaires apprises en une semaine ! Et toutes ces choses que jâai galĂ©rĂ© Ă faire, vont me servir lors de la formation BeginReact que je vais bientĂŽt pouvoir commencer đ€©
Lâobjectif de la semaine prochaine est de revenir analyser la structure de mon blog pour bien comprendre tout ce quâil a fallu mettre en place et crĂ©er un article dĂ©taillĂ© sur le sujet ! Savoir expliquer quelque chose prouve quâon a bien assimilĂ© le concept, câest un trĂšs bon exercice ^^
VoilĂ , nâhĂ©sites pas Ă me dire ce que tu penses de cet article et de ce nouveau blog en mâenvoyant un mail sur ma vieille adresse mail quâil faudra que je change Ă lâoccasion ^^
En attendant, je te dis Ă trĂšs bientĂŽt et prend soin de toi ! đ«