Refonte d'un site institutionnel avec Next.js 16 et Payload CMS 3. Comment gérer la migration de texte vers Lexical et l'intégration de Tailwind v4.
Le script de migration affiche un log vert sur le terminal. En coulisses, une base de données entière vient de muter. Des dizaines de champs textuels, autrefois de simples chaînes de caractères brutes, sont désormais convertis en arbres syntaxiques complexes. L'équipe éditoriale peut enfin utiliser du texte riche sans risquer de casser la maquette millimétrée du site.
Novinvest est la vitrine numérique d'une société de gestion financière particulièrement exigeante sur son image. Le but de cette refonte était clair. Il fallait passer d'un ancien site statique figé à une plateforme de publication autonome pour le marketing, le tout avec un niveau de finition typographique irréprochable.
Le site précédent remplissait son rôle d'information, mais la moindre mise à jour nécessitait de modifier le code source. L'équipe marketing voulait reprendre la main sur ses publications (rapports trimestriels, nouvelles stratégies d'investissement).
Nous avons d'emblée écarté les solutions monolithiques classiques. Le besoin de sécurité, de rapidité d'affichage et de contrôle absolu sur le code frontend nous orientait naturellement vers une architecture découplée. Payload CMS s'est imposé comme une évidence pour son écosystème TypeScript natif. Le fichier payload-types.ts agit comme l'unique source de vérité contractuelle entre l'interface d'administration et le site public.
Toutes les pages du site s'articulent autour d'un concept de blocs empilables. Il n'y a pas de gabarits rigides. L'éditeur compose sa page en piochant dans un catalogue de composants pré-développés.
Nom du bloc | Rôle sur le site |
| Affichage du texte courant avec un titre optionnel. |
| Présentation aérée avec une image latérale et du texte. |
| Mise en avant de statistiques financières clés. |
| Présentation d'un pôle d'expertise spécifique. |
La liberté de création est quasi totale pour l'équipe, mais elle reste fermement encadrée par le code. Chaque bloc possède ses propres validations de champs. La typographie, véritable cœur de l'interface, repose sur un contraste assumé. La police Cormorant Garamond gère l'autorité des titres, tandis que l'Inter assure la lisibilité parfaite des données denses.
Le plus gros défi s'est présenté lors de la gestion du texte riche. Le client avait besoin de mettre en forme ses articles (gras, listes, liens) et le simple champ textarea de l'ancienne base ne suffisait plus. Payload 3 embarque nativement Lexical, le puissant éditeur open source développé par Meta.
Le problème résidait dans l'existant. Le site comptait déjà des dizaines de contenus en base de données. Il était impensable de tout resaisir manuellement pour s'adapter au format JSON attendu par Lexical.
J'ai donc écrit un script de migration automatique qui s'exécute à chaque déploiement. Ce script parcourt les collections et convertit le texte brut en un arbre de syntaxe abstraite
Un autre obstacle silencieux concernait le routage des liens. Lexical gère les liens internes sous forme d'identifiants MongoDB de base de données (et non des adresses web directes). Il a fallu créer un convertisseur personnalisé côté React pour intercepter ces identifiants, résoudre le nom de la page via les types générés et construire l'URL finale correspondante.
Un site institutionnel n'a pas le droit d'être lent. La confiance de l'utilisateur passe aussi par l'instantanéité de l'interface. En associant la génération statique de Next.js, l'optimisation drastique des polices au build et la distribution des médias sur le cloud, le front-end a été allégé au maximum. Le navigateur reçoit une page directement exploitable, sans calcul Javascript inutile lors du premier rendu. L'audit de performance confirme cette approche radicale, avec des signaux web essentiels (Core Web Vitals) irréprochables.
L'organisation des données dans le CMS reflète précisément la structure de l'entreprise financière. Nous avons segmenté l'information pour éviter les erreurs de saisie.
Le projet repose sur un écosystème moderne pensé pour la robustesse des types et la vitesse de rendu statique. Les médias sont distribués dans le cloud pour alléger le serveur de base de données.
La création de ce site institutionnel a validé plusieurs choix architecturaux pour mes développements futurs.