Comment ce site est bâti
alexricher.com est un site statique, bâti à la main et livré depuis mon laptop. Voici ce qui le fait rouler et la discipline derrière.
Statique par défaut
Next.js bâtit le site au complet en HTML statique, puis il est livré sur un hébergement partagé cPanel. La seule pièce côté serveur est un petit script PHP pour le formulaire de contact. Pas de base de données, pas de processus Node en production. Les pages se chargent comme des fichiers.
Une commande pour livrer
Bun roule le build. Il génère l'AVIF et le WebP pour chaque image, produit les cartes sociales par page et par jeu via Chrome sans interface, écrit le plan du site et les fils, puis injecte le PHP. Les déploiements sont « blue-green » : la nouvelle version monte à côté de l'ancienne, se fait vérifier, et un lien symbolique la rend active. Un mauvais déploiement revient en arrière.
L'anglais et le français, en parallèle
L'anglais vit à la racine, le français sous /fr/. Chaque page a son pendant. Les chaînes sont dans des fichiers JSON éclatés qui fusionnent en un paquet par langue, et un test fait échouer le build si une clé existe dans une langue mais pas l'autre. Le français est québécois.
Onze thèmes, surtout saisonniers
Clair et sombre, plus douze palettes saisonnières qui s'activent toutes seules selon la date : l'Halloween, le temps des fêtes, la Saint-Jean, la fête du Canada, le Carnaval, et d'autres. Les couleurs viennent d'un seul fichier JSON qui génère le CSS, donc un nouveau thème est une modification de données, pas de code.
Des choses à trouver
Il y a un système de hauts faits caché dans la page, une douzaine de surprises à déclencher, et une salle des trophées qui suit ce que tu as trouvé. Le mode commentaire du réalisateur sur les pages de jeux rappelle le genre de bonus qui sortait sur le disque de Deus Ex: Human Revolution.
Écrit pour ne pas sonner comme un robot
La plupart des textes ici partent d'un brouillon généré par l'IA, puis passent dans un guide de style maison qui enlève les tics, les tirets cadratins et les mots qui s'agglutinent dans la prose machine, pour que ça se lise comme si un ingénieur l'avait écrit.
Six mille tests
Chaque changement passe les tests unitaires, les tests bout en bout dans le navigateur, une analyse d'accessibilité qui échoue à la moindre violation sérieuse, des captures de régression visuelle, et Lighthouse. Tout reste au vert avant qu'on livre, et le compte monte chaque semaine.
Discret par défaut
Pas de traqueurs tiers ni de mur à témoins. Les statistiques sont auto-hébergées et facultatives. Le formulaire de contact est limité en fréquence et valide des deux côtés, et le robots.txt dit aux robots d'IA où le site se situe.
En Geist et JetBrains Mono. Icônes de Lucide. Next.js, Tailwind et TypeScript en dessous, tous libres. Le reste est fait main.
Dernière mise à jour: 2026-06-20