Elio Darras

Note technique · Publié le 25 septembre 2026

Pourquoi Astro a sauvé le site de l'Atelier Nicoletti

Un site d'architecte dépublié par Webflow, onze jours de 404, et une reconstruction en site statique, 509 photos retrouvées par empreinte d'image.

Le 24 août 2026, Webflow a dépublié le site de l'Atelier d'Architecture Michel Nicoletti, à Annecy. Plan expiré ou paiement refusé, le domaine a renvoyé une 404 pendant onze jours. Un site vitrine d'architecte avec 57 projets et 509 photos, disparu.

La première chose que j'ai faite, avant de choisir quoi que ce soit, c'est sauvegarder. Le contenu de l'ancien CMS, 63 projets, et ses 884 images sont partis dans un dépôt git avant que le CDN de Webflow ne les efface.

Remonter chez Webflow aurait été le chemin court. J'ai préféré reconstruire en Astro, en site statique. Le build calcule 140 pages HTML une fois pour toutes, sans base de données ni serveur applicatif, avec quatre dépendances, Astro, Sharp et deux polices. En sortie, trois fichiers CSS, un fichier JavaScript, et un accueil de 48 Ko qui répond en 0,2 seconde. Un site qu'on ne peut plus dépublier pour une histoire de paiement.

Chaque projet est un fichier JSON versionné, sous un contrat de contenu que le build vérifie. Un JSON invalide, une catégorie inconnue, une photo manquante ou un nombre de légendes différent du nombre de photos, et le déploiement échoue. Une erreur de contenu ne peut pas arriver jusqu'aux visiteurs. Une seule fonction de classement est utilisée partout, le rang donné par l'architecte, sinon la date, sinon l'ordre alphabétique.

Le vrai problème était dans les photos. L'architecte les avait nommées pour le référencement, et l'upload Webflow les avait renommées en effaçant tout. Un script Python retrouve l'original de chaque photo par le contenu de l'image, avec une empreinte perceptuelle comparée uniquement à l'intérieur du dossier du projet. 493 photos sur 493, sans aucune approximation. Un dictionnaire écrit à la main traduit ensuite ces noms en 509 légendes lisibles.

Un balayage d'après-build parcourt les 140 pages, suit 1 220 liens internes, et refuse de passer s'il trouve un lien mort ou une page absente du plan du site. Les 509 photos donnent 3 485 images dérivées en WebP, en plusieurs largeurs, servies avec un cache d'un an.

Le référencement a été traité comme une migration, pas comme un détail. Adresse canonique, textes alternatifs, données structurées, un plan du site à 73 adresses, et 29 redirections permanentes, les 63 anciennes adresses ayant été vérifiées une par une. Le DNS est resté chez OVH, seuls deux enregistrements ont changé, et la messagerie de l'architecte n'a pas connu une seconde d'interruption.

Cinquante commits en trois semaines. Ce que j'en retiens tient en trois lignes. Sauvegarder avant de décider. Laisser le build refuser les erreurs de contenu. Et préférer une plateforme qu'on possède à une plateforme qu'on loue.