Soliguide

🧱 Ce qu'on récupère, ce qu'on branche

On ne part pas d'une page blanche. Une partie de ce qui fait Soliguide existe déjà et mérite d'être reprise : les couleurs, les icônes, les logos, la mesure d'audience. Le reste, ce sont des outils tiers qu'on branche sur Astro.

La question à se poser à chaque fois est la même : est-ce qu'on copie, ou est-ce qu'on pointe vers la source ? Une copie devient fausse dès que l'original bouge. Un lien vers la source ne peut pas mentir, mais crée une dépendance. Le bon choix dépend de la vitesse à laquelle la chose évolue.

♻️ Ce qu'on récupère de l'existant

Six briques, avec pour chacune la façon dont elle arrive ici et l'état d'avancement.

🧰 Les outils tiers qu'on branche

Chaque ligne part d'un besoin réel, pas d'un catalogue. On a d'abord regardé ce que les applications actuelles utilisent, puis ce que nos objectifs réclament, et seulement ensuite ce qu'Astro propose pour y répondre. 5 à retenir,3 à étudier, 2 écartés.

BesoinCe qu'on brancheVerdictPourquoi
Rendu serveur
Fabriquer les pages sur un serveur, pour que le HTML contienne le contenu avant même que le navigateur exécute quoi que ce soit.
@astrojs/node✅ à retenirC'est la raison d'être du chantier. Sans rendu serveur, on refait ce qu'on veut justement quitter.
Plan du site
Donner aux moteurs de recherche la liste de nos pages.
@astrojs/sitemap🤔 à étudierL'intégration génère un plan à partir des pages du projet. Mais nos fiches sont des dizaines de milliers, servies depuis la base — l'API produit déjà des plans régionaux. Il faut décider qui fait quoi avant de brancher.
Déjà en place : L'API produit déjà des plans par région, avec un défaut de cache connu.
Suivi des erreurs
Être prévenu quand une page casse chez un visiteur, avec assez d'informations pour comprendre.
@sentry/astro✅ à retenirSentry est déjà utilisé partout : sur le site actuel, sur la web-app et sur l'API. Il existe une intégration Astro officielle, on reste donc sur l'outil que l'équipe connaît.
Déjà en place : @sentry/angular sur le site, @sentry/sveltekit sur la web-app, @sentry/node sur l'API.
Mesure d'audience
Comprendre ce que les gens cherchent et où ils abandonnent, pour améliorer le produit.
posthog-js✅ à retenirPostHog est déjà en place. Aujourd'hui son intégration vit dans un module Angular de common-angular : un service, un module et un intercepteur qui ajoute l'identifiant utilisateur aux appels. Tout cela est à refaire ici, sans Angular.
Déjà en place : posthog-js sur la web-app, posthog-node sur l'API, et un module Angular dans common-angular.
Scripts tiers isolés
Empêcher les scripts de mesure de ralentir l'affichage.
@astrojs/partytown🤔 à étudierPartytown déplace les scripts tiers dans un fil d'exécution séparé, ce qui protège la vitesse d'affichage. Séduisant pour PostHog, mais il complique le suivi et casse certaines fonctions. À mesurer avant de décider.
Contenu éditorial
Écrire les pages d'aide et les mentions légales dans un format lisible, sans passer par du code.
@astrojs/mdx🤔 à étudierVingt pages légales déclinées par pays et une page d'aide : autant de contenu qui gagnerait à s'écrire en texte balisé plutôt qu'en composants. À confirmer selon qui les rédige.
Optimisation des images
Servir des images au bon format et à la bonne taille, sans y penser.
astro:assets✅ à retenirFourni par Astro, rien à installer. Nos images reprises pèsent lourd — un logo de 720 Ko, un visuel d'accueil de 276 Ko. Cette brique règle le problème à la source.
Gestion des langues
Servir le site en douze langues, avec les bonnes adresses et les bonnes balises.
astro:i18n✅ à retenirFourni par Astro, rien à installer. Indispensable : douze langues, trois pays, et des règles d'indexation qui diffèrent selon la langue.
Compression des pages
Réduire le poids des pages livrées.
@playform/compress🚫 écartéLa compression se fait normalement au niveau du serveur qui sert les pages. L'ajouter au build revient à faire deux fois le même travail, avec une dépendance de plus.
Balises de référencement
Écrire les balises de titre, de description et de partage.
astro-seo🚫 écartéUne vingtaine de lignes de HTML qu'on maîtrise mieux en les écrivant nous-mêmes, dans un composant à nous. Nos besoins d'attribution sortent de toute façon de ce que propose la bibliothèque.