Dans le cadre du développement de la nouvelle version de Qwant, nom de code Phoenix, j'ai été missionné pour assister l'équipe sur le développement de la partie front-end.
L'objectif était d'améliorer la vélocité de l'équipe sur le projet et de l'aider à monter en expertise sur le framework React et son écosystème.
La principale difficulté du projet a été de réfléchir à la structure à adopter pour rendre le projet pérenne et
facilement compréhensible par les autres équipes au sein de Qwant.
Pour commencer, j'ai aidé à la mise en place du design system, créé par les designers, sur React. On a pour cela créé un ensemble de composants qui servent de base à l'application Qwant. Pour faciliter leur découverte, on a mis en place Storybook qui permet de découvrir le rôle des propriétés et permet aussi aux designers de valider les comportements.
La principale difficulté du projet a été de mettre en place une structure permettant un rendu hybride : un rendu côté serveur dans un premier temps, puis une hydratation et un rendu côté client pour la suite de la navigation.
Après avoir évalué les technologies existantes (comme Next.js), il a été décidé de partir sur une solution "maison" et il a fallu développer de nombreuses fonctionnalités autour de cette contrainte de rendu. L'avantage est une plus grande flexibilité et un meilleur contrôle lors de besoins spécifiques.