hippolyte-thomas.fr

Projet en Symfony et Vue.js pour mon site personnel basé sur la Jamstack

Page d'accueil - hippolyte-thomas.frPage des projets - hippolyte-thomas.frPage d'administration des informationsPage d'administration des projets
  • PHP
  • Symfony
  • JavaScript
  • Vue.js
  • Nuxt.js
  • Jamstack
  • PostgreSQL
  • Docker

Description

hippolyte-thomas.fr est mon site personnel que j'ai développé dans le but de mettre en avant différents projets que j'ai pu réaliser. Ce site n'avait pas de contraintes techniques particulières dont j'ai dû tenir compte lors du choix des technologies, j'ai donc choisi de partir sur un environnement technique que j'avais envie d'expérimenter. Les technologies utilisées ne sont pas forcément les mieux choisis pour un petit site comme celui-ci.

J'ai choisi pour le front de partir sur un environnement du type Jamstack car c'est une stack technique qui m'intéressait et qui se prêtait plutôt bien au type de site que je souhaitais réaliser.
JAM est un acronyme qui représente :

- J pour JavaScript

- A pour API

- M pour Markup

L'idée derrière cette stack est de développer le front du site en JavaScript en utilisant des données venant d'APIs puis de générer le site de façon statique pour le servir ensuite directement depuis un CDN. Cette technique permet d'avoir un site qui propose des performances extrêmement bonnes en ce qui concerne sa délivrabilité. Le gros souci est que le site ne peut pas être très dynamique en termes de données... Lorsque qu'on souhaite mettre à jour les données du site, il faut regénérer le site à chaque fois.

Cette stack technique ce prête particulièrement bien aux blogs ou aux sites avec des modifications "peu" fréquentes. Pour un petit site comme le mien, cette stack technique se prête particulièrement bien.

J'ai donc choisi de développer mon site en Vue.js en utilisant le framework Nuxt.js qui permet notamment la génération du site statique.

Pour le back du site, plusieurs solutions s'offraient à moi, notamment l'utilisation de CMS fait pour la Jamstack et qui permettent par exemple de stocker les datas directement sur Git en markdown. Ces solutions ne me plaisaient pas particulièrement car j'avais envie de développé moi-même mon backend.
J'ai donc décidé de partir sur une API développé en Symfony car c'est un framework PHP que j'apprécie et qui permet de développer rapidement une application. J'ai donc créé une API que mon front consulte pour récupérer les données et une interface d'administration pour que je puisse administrer simplement mon site.