Nexus 2.0 est une mise à jour majeure du template : une nouvelle base Astro 7 et Tailwind CSS v4, des mondes pour changer d’identité visuelle depuis une seule ligne de configuration, et une bibliothèque de composants plus riche. Elle est le fruit de mois de travail d’ingénierie, d’itérations de design et de retours de la communauté.
Les nouveautés
Nexus 2.0 repose sur Astro 7 et Tailwind CSS v4. Les pages sont rendues en HTML par défaut, et le JavaScript côté client est optionnel : l’essentiel de l’interactivité passe par de simples scripts exécutés dans le cycle de vie astro:page-load d’Astro, et React n’est utilisé que pour les îlots de visualisation de données construits avec Recharts.
L’expérience de contenu a été entièrement repensée autour des content collections d’Astro, avec une validation de schéma par Zod. Articles de blog, profils d’auteurs, FAQ, services et témoignages sont des collections typées : un champ manquant ou une date mal formée fait échouer le build au lieu de mettre en ligne une page cassée.
Les mondes : changer d’identité en un seul endroit
Le changement le plus important de la 2.0, ce sont les mondes. Un monde est un preset de design tokens qui rhabille l’ensemble du template, palette, surfaces, rayons, densité, animations et typographie d’affichage compris, à partir d’une seule ligne dans nexus.config.ts :
world: { preset: "proof" },
Six presets sont disponibles dès aujourd’hui : nexus, l’identité neutre par défaut ; proof, un portfolio de photographe ; automotive, un showroom aux tons champagne et bronze ; shop, une boutique chaleureuse d’objets artisanaux ; editorial, un petit magazine ; et enterprise, un site produit de supervision d’infrastructure. Au-delà du preset, vous pouvez ajuster individuellement radius, density, motion et material. Les composants ne lisent que des tokens et ignorent quel monde est actif : un changement d’identité visuelle ne vous oblige donc pas à fouiller les fichiers de composants.
Une bibliothèque de composants plus riche
La bibliothèque de composants est organisée en couches, pour que vous puissiez travailler au niveau adapté à chaque tâche :
- Primitives d’interface comme Button, Card, Modal, Accordion, Combobox, DataGrid et DatePicker, chacune avec des props typées et des variantes CVA.
- Sections comme Hero, Features, Pricing, FAQ et CTA, pour assembler rapidement des pages marketing.
- Compositions de pages pour les écrans riches en données, dont des mises en page de fiche, de dossier, de tableau de bord et de comparaison.
- Graphiques en aires, en barres, en anneau, en courbes, en radar, en carte de chaleur et en barres d’intervalle, stylés à partir des mêmes tokens que tout le reste.
Les composants de données partagent un même ensemble d’états (chargement, vide, erreur et données), si bien qu’un tableau de bord n’affiche jamais un panneau vide lorsqu’une requête échoue.
Conçu pour de vrais projets
Plusieurs fondations de production sont incluses au lieu d’être laissées en exercice :
- Cinq langues prêtes à l’emploi : anglais, allemand, français, espagnol et bulgare, pour les pages principales et le blog, avec des slugs d’URL traduits et un sélecteur de langue.
- Thèmes clair et sombre qui suivent par défaut le réglage système du visiteur (configurable en sombre ou en clair), avec un bouton de bascule qui mémorise son choix.
- Recherche sur le site propulsée par Pagefind, un flux RSS, un sitemap et des images Open Graph générées pour les articles de blog.
- Authentification optionnelle avec Better Auth, activée par une seule commande
pnpm auth:enable. - Bases pour le consentement aux cookies et les pages légales, à configurer selon vos propres flux de données. C’est un point de départ, pas un conseil juridique.
Les fonctionnalités sont pilotées par des flags, et la commande pnpm prune:features supprime des familles entières de fonctionnalités dont vous n’avez pas besoin, avec un mode dry-run qui affiche le plan avant toute modification.
Mise à niveau
Nexus 2.0 est une restructuration profonde : abordez la mise à niveau comme une migration plutôt que comme une simple mise à jour. La voie la plus fiable consiste à partir d’une copie neuve du template, à choisir un monde, puis à y transférer votre contenu et votre configuration. Les content collections vous signaleront immédiatement tout frontmatter qui ne correspond plus au schéma.
Et maintenant
Prochaine étape : continuer à enrichir la bibliothèque de composants et les presets de mondes, et améliorer la documentation pour adapter chaque recette à vos propres projets.