J'ai longtemps utilisé mon propre générateur de site statique pour mon site. D'abord réalisé en Node.js, je me suis ensuite tourné vers Crystal pour la deuxième version. Ça fait maintenant plus d'un an que je suis passé à la troisième version, que j'ai gardée pour moi jusqu'à maintenant. Satisfait des derniers changements, voici donc venu le temps - des rires et des chants - du partage de ce qui est devenu la base de mon site en anglais (ehret.me), avant d'être repris pour mon site en français (sieg.fr/ied).
Le code pour mes sites est disponible sur git.sr.ht/~siegfriedehret/sites.
De beulogue (Crystal) à beulogue (Svelte / SvelteKit)
J'ai commencé à m'amuser avec Svelte quasiment à ses débuts, et je suis vite tombé dans Sapper; j'en ai même causé de à Devoxx France en 2019. Sapper est désormais hors jeu car remplacé par SvelteKit. Aujourd'hui c'est SvelteKit qui est derrière mes sites.
Au début je faisais beaucoup de copié-collé entre le site en anglais et celui en français. Je me suis donc attaqué au chantier de regrouper ce que je pouvais. J'utilise Turborepo et pnpm pour organiser mes deux sites (ehretdotme et siegdotfr) ainsi qu'un paquet avec des composants Svelte et un paquet avec des utilitaires.
J'utilisais PrismJS pour la coloration des bouts de codes, et après m'être battu - et perdu - 2 fois contre shiki pour des problèmes de performances, c'est maintenant highlight.js qui est utilisé.
Des fichiers dans le dépôt à Contentful
Pour des histoires de taille du paquet qui est déployé, j'ai abandonné les fichiers markdown et images associés dans le dépôt pour utiliser Contentful, un gestionnaire de contenu. La version payante est incroyablement chère - je ne suis pas la cible - et le plan gratuit est bien suffisant.
C'est surtout utile pour les images, car Contentful sert de CDN et l'API permet de retailler les images, pratique pour mon Museum of Poorly Photographed Art.
De GitHub à SourceHut
J'ai souhaité m'éloigner de GitHub et j'ai choisi sourcehut, un service très minimaliste et léger.
De AWS à Gandi
Depuis quelques mois, mes noms de domaines sont chez Gandi et j'ai cloturé mon compte AWS. Ça fait du bien !
De AWS à Vercel à Scalingo à Fly.io à... Vercel
J'utilisais up (qui est un outil formidable) pour héberger mon site dans une lambda chez AWS. Souhaitant m'éloigner des services Amazon (aujourd'hui mes domaines sont chez Gandi), j'ai tout déplacé chez Vercel, mais c'est aussi AWS derrière. J'ai essayé de m'en échappé aussi.
J'ai bien aimé Scalingo, mais j'ai trouvé ça un poil cher pour mes petites bidouilles. J'ai eu un truc bizarre et leur support en ligne a été super efficace. J'espère pouvoir travailler avec cette plateforme à nouveau.
Fly.io c'était sympa mais un poil plus bancal à cause de l'utilisation d'images de chez Heroku, et que ça change côté Heroku, ça pète. Je me demande d'ailleurs si ça aurait explosé aussi avec Scalingo.
Et donc retour à Vercel car même si c'est AWS derrière, c'est vraiment trop bien. Le seul point négatif c'est que le tarif Team (payant) est trop cher. Tant pis, le plan gratuit suffit bien.
Je déploie mes sites grâce aux services de «build» de sourcehut et Vercel CLI. Les fichiers de déploiements sont ici.
Tester d'autres plateformes m'a aussi permis de résoudre beaucoup de problèmes de performance.
Voili voilou !
Je m'arrête là, j'espère qu'il y avait quelques trucs intéressants (surtout la partie SvelteKit + Turborepo).
Enfin, on dirait plutôt « la stack » mais le gag avec l'illustration (le stack / l'Estaque) n'aurait pas fonctionné. L'image vient d'ici.
Bisettes !