Gros update sur Versus-DB

Dernièrement je vous parlais de mon dernier projet Next.js, ou devrais-je dire Node/Next.js Typescript plutôt, qui n'est autre que Versus-DB, une encyclopédie des mouvements de jeux de combat. Je viens de passer un gros update sur ce projet.
Mise à jour des routes
J'ai modifié tout le système de routing pour bénéficier de la SEO, en sachant que Next.js permet de faire beaucoup de chose pour améliorer votre SEO, en passant par les métadata, et le server side rendering. On peut littéralement faire de la magie.
Désormais, je mets le label du jeu dans la route, car très souvent les joueurs appellent un Street Fighter -> SF ou King of Fighters -> KOF, j'ai donc fait des optimisations sur les routes pour en tirer profit.

Et aussi sur les fiches personnages, j'ai modifié les routes en ce sens:

Cela m'a demandé un travail spécifique sur mon moteur d'encryption car j'avais fait les routes par rapport aux IDs. J'ai réussi à faire une mise à jour sans créer de breaking change. Cela m'a demandé deux bonnes heures, le temps de faire des tests et de vérifier le fonctionnement. J'en parlerai probablement dans un prochain article, mais j'ai fait des optimisations sur l'encodage de réponse qui fait que pour éviter de prendre un DDoS, j'ai splité la réponse et le frontend se chargera de la recomposition. Dans les faits, l'encryptage est beaucoup plus long sur un objet volumineux que sur une série d'objets de plus petite taille.
Mise en place d'un Sitemap avec Next.js
De plus, j'ai créé un script qui me permet de mettre en place un sitemap.xml avec Next.js, je le fais déjà sur ce blog par exemple. Cette fois-ci mon script est légèrement différent car il est préconstruit et incrémental alors que celui de dev-freelance est totalement dynamique et sera regénéré entièrement à chaque exécution.
Le sitemap.xml est un fichier que l'on ne présente plus en SEO, il permet l'indexation de vos pages, c'est un peu la cartographie de votre site.

FAQ
Pourquoi avoir mis les labels courts comme SF ou KOF dans les routes ?
Ces abréviations sont celles que les joueurs utilisent naturellement dans leurs recherches, les intégrer dans les URLs permet de capter ce trafic et d'améliorer le référencement sur des requêtes réelles.
Est-ce que ce changement de routes a cassé des fonctionnalités existantes ?
Non, la migration a été réalisée sans breaking change, mais elle a nécessité un travail spécifique sur le moteur d'encryption qui gérait auparavant les routes à partir des IDs, ce qui a pris environ deux heures de tests.
C'est quoi concrètement un sitemap.xml et pourquoi en ajouter un ?
C'est un fichier qui liste toutes les pages de votre site pour aider les moteurs de recherche à les découvrir et les indexer plus efficacement, un peu comme un plan du site destiné aux robots.
Quelle est la différence entre le sitemap de Versus-DB et celui de ce blog ?
Celui de Versus-DB est préconstruit et incrémental, ce qui signifie qu'il se met à jour sans être entièrement regénéré, contrairement à celui du blog qui est totalement dynamique et reconstruit intégralement à chaque exécution.
Pourquoi avoir découpé les réponses chiffrées en plusieurs petits objets ?
L'encryption d'un gros objet unique est bien plus lente que celle de plusieurs petits objets, cette approche améliore les performances et réduit la vulnérabilité aux attaques de type DDoS, le frontend se chargeant ensuite de recomposer les données.

Alexandre P.
Développeur passionné depuis plus de 20 ans, j'ai une appétence particulière pour les défis techniques et changer de technologie ne me fait pas froid aux yeux.
Poursuivre la lecture


