Étude de cas Site vitrine

Le site que vous lisez, passé de Next.js à Rust sans perdre une URL

envixo.com est publié en 99 langues. Nous l'avons réécrit de Next.js vers Rust, comparé chaque URL avec l'ancien site avant la bascule, et corrigé ce que l'ancien site faisait mal pour les moteurs de recherche, les langues de droite à gauche et les assistants IA.

Client
Envixo
Plateforme
Site web
Secteur
Site vitrine
Lancement
2026

Le défi

Le site Next.js fonctionnait, mais il exigeait un serveur Node.js avec 512 MB de mémoire réservée, envoyait environ 150 KB de HTML par page et avait des manques : aucune mise en page de droite à gauche, et des données structurées ajoutées uniquement par JavaScript.

Avant: Un serveur Node.js avec 512 MB de mémoire réservée
Après: Un binaire Rust dans un conteneur d'environ 33 MB, qui utilise environ 46 MB de mémoire
Avant: Environ 150 KB de HTML par page, charge React comprise
Après: Du HTML rendu côté serveur, avec du JavaScript simple seulement là où il est nécessaire
Avant: Des données structurées ajoutées par JavaScript après le chargement de la page
Après: Du JSON-LD traduit dans le HTML envoyé par le serveur
Avant: L'arabe, l'hébreu, le persan et quatre autres langues affichés de gauche à droite
Après: Mise en page de droite à gauche pour les sept langues concernées
Avant: www.envixo.com répondait par une erreur, et il n'y avait pas de llms.txt
Après: www redirige vers envixo.com, et /llms.txt décrit l'entreprise pour les assistants IA

Ce que nous avons créé

Un serveur Rust avec axum et Askama qui sert les mêmes URL, les mêmes 99 fichiers de traduction et le même design, construit avec Tailwind et du JavaScript simple.

Les mêmes URL et redirections

La détection de langue, les préfixes de locale, les barres obliques finales et le cookie de langue se comportent comme sur l'ancien site : aucun lien ni classement n'a été perdu.

Parité SEO, puis mieux

Métadonnées, hreflang, JSON-LD et sitemap correspondent à l'ancien site, avec des corrections sur les balises de partage social et un nouveau llms.txt.

Un seuil à zéro différence

Un outil a comparé chaque URL de l'ancien et du nouveau site. La bascule exigeait zéro différence, plus des captures d'écran à trois largeurs en anglais, en arabe et en japonais.

Explorer en 3D

Une visite guidée en three.js de toute la page d'accueil, avec une simple liste quand la 3D n'est pas disponible.

Un formulaire de contact sans SDK

Un contrôle anti-spam avec Cloudflare Turnstile et l'envoi d'e-mails par Amazon SES, avec des requêtes signées à la main, un pot de miel et une limite par visiteur.

Erreurs remontées, clés protégées

Les erreurs du serveur et du navigateur partent vers Honeybadger, et la clé d'API n'atteint jamais la page.

Résultats techniques

Mémoire mesurée en production en octobre 2026 ; taille de l'image issue du build. Le nombre d'URL du sitemap est vérifié par un test automatisé.

~33 MB
Image de conteneur pour tout le site
~46 MB
Mémoire utilisée
99
Langues issues des mêmes fichiers de traduction
594
URL du sitemap, toutes conservées
  • Retour arrière par DNS, l'ancien site conservé pendant sept jours
  • Mises à jour de dépendances fusionnées automatiquement dès que les tests et la construction de l'image passent
  • Tests et builds exécutés sur les runners CI d'Envixo
  • Publié en 99 langues depuis les mêmes fichiers de traduction qu'avant

Technologie

  • Rust
  • axum
  • Askama
  • Tailwind CSS
  • three.js
  • Amazon SES
  • Cloudflare Turnstile
  • Kubernetes

Besoin d'un logiciel conçu autour de votre activité ?

Intégrations, outils internes, applications et plateformes, créés sur commande par des ingénieurs seniors qui pilotent des agents IA. Dites-nous ce dont vous avez besoin et nous vous montrerons comment nous le construirions.