Bonjour Ă tous ! đ
Je vais vous parler aujourdâhui de mon retour dâexpĂ©rience sur la refonte de mon site perso avec la JAMstack en utilisant Gatsby.
Un peu de contexte
Cela fait maintenant plus de 10 ans que jâai un site perso / blog / portfolio⊠oĂč jâĂ©cris de temps en temps mes humeurs, coups de coeurs tech et tutoriels. Au fil du temps, ce projet a Ă©tĂ© utilisĂ© comme un bac Ă sable pour apprendre de nouvelles compĂ©tences. Câest ainsi quâen 2010 une premiĂšre version vit le jour avec Wordpress hĂ©bergĂ© directement chez moi đ€ CâĂ©tait roots, mais ça mâa permis de voir comment fonctionnait PHP, MySQL, Apache2⊠bref tout ce quâil faut pour hĂ©berger une application web. ( Jâai par la suite louĂ© un serveur mutualisĂ© chez OVH ) Puis vers 2013 changĂ© pour Jekyll, outils, qui mâa permis trĂšs rapidement de me familiarisĂ© avec lâenvironnement Ruby ( et son eco-systĂšme, Gem, Bundler ). 2020, il est temps de changer pour une 3Ăšme fois, histoire de surfer sur la hype de la JAMstack ! đââïž
Pourquoi Gatsby?
Pour commencer, jâaime beaucoup React. Jâai un peu hĂ©sitĂ© avec Create-React-App, Ă©tant familiarisĂ© avec cet outils ( chez Picto Acccess, nous utilisons ce boilerplate pour certaines de nos apps ). Ayant entendu de plus en plus parlĂ© de la JAMstack je me suis dit que câĂ©tait le paradigme idĂ©al pour remettre un coup de neuf sur mon site perso ! Mon choix de technologie sâest portĂ©e sur Gatsby de part sa popularitĂ© et des nombreux avantages quâil propose :
Une forte communauté ( 46k stars sur Github )
Un large choix de plugins / thĂšmes disponible directement sur le site officiel
Une simplicité de démarrage et prise en main ( surtout si vous connaissez bien React ! )
Performances accrues ( Ă©videmment⊠puisque câest un site statique )
PossĂšde pas mal de similaritĂ© avec CRA : hot reloading, un environnement de dĂ©veloppement trĂšs facile Ă prendre en main et un build script prĂȘt Ă emploi. đ
Le support de GraphQL : un serveur GraphQL tourne en parallÚle de votre application, vous permettant de récupérer toutes sortes de données liées à votre projet.
Evolution : avec les différents plugins, je pourrais éventuellement faire évoluer mon site statique en utilisant un Headless CMS par exemple.
ThĂšmes de Gatsby
Demonstration
Je vous met ici le lien vers mon nouveau portfolio, je vous laisse vous balader, si vous le dĂ©sirez. NâhĂ©sitez pas Ă me faire des retours !
Par oĂč commencer?
La documentation de Gatsby est trĂšs bien faites : ici . Vous y retrouverez un tutoriel ainsi quâun Quick Start. Si vous dĂ©sirez dĂ©marre rapidement et vous laisser guider, vous pouvez utiliser les starters proposĂ©s par Gatsby, ou encore Stackbit qui vous permet, en quelques clics, de gĂ©nĂ©rer un site complet.
DĂ©ploiement & hĂ©bergement đ§đŒââïž
Gatsby gĂ©nĂšre en finalitĂ© des fichiers statiques, cela Ă©tant vous aurez lâembarras du choix quant Ă lâhĂ©bergement.
Pour ma part, lâancienne version de mon site perso. Ă©tait hĂ©bergĂ© Ă lâaide de Github Pages. Câest une solution gratuite mis en place par Github, et depuis que leur offre commerciale Ă Ă©voluĂ©e - il est maintenant possible dâavoir des dĂ©pĂŽts privĂ©s sur les comptes gratuit - câest devenue une trĂšs bonne solution. Vous trouverez ici la documentation pour hĂ©berger votre site statique sur Github Pages.
Pour cette nouvelle version, jâai choisis dâhĂ©berger mon application sur le service Netlify. Netlify propose diffĂ©rent services notamment la gĂ©nĂ©ration automatique de certificat SSL ( HTTPS ), un CDN, de lâintĂ©gration continue et Ă©galement ce quâils appellent les « notifications », ce qui vous permet dâintĂ©grer des formulaires sur votre site statique ( limitĂ© Ă 100 notifications par mois pour la version gratuite). Netlify sâoccupe Ă©galement de build & de deployer votre application Ă partir dâun simple "push" sur votre branche "master". Cerise sur le gĂąteau Ă la cerise đ, lâintĂ©gration se fait super facilement : il suffit de cliquer sur le bouton « New site from Git » sur le tableau de bord et de choisir le bon dĂ©pĂŽt. Vous pouvez ajouter quelques configurations supplĂ©mentaires, si vous le dĂ©sirez⊠et câest tout !
Conclusion
Je vous encourage à tester Gatsby, qui présente pour moi une chemin pleins de promesses quant au futur du développement web, en supprimant un paquet de contraintes liées aux setups, build & déploiements, ce qui permet de nous concentrer sur ce qui nous intéresse vraiment.
Merci dâavoir lu et bon code ! đ