Les guides, l'aide, la vidéo et les pages vie privée (public/, copiés sans Vite) n'avaient aucune
mesure. src/pages.js, construit par Vite avec une empreinte et posé au build dans chaque page par
scripts/inject-pages.mjs, envoie les mêmes événements que la page d'accueil (page_viewed, scroll_depth_50
et 100, signup_cta_clicked) et video_played sur /video/. Les liens vers l'app gardent le ?source=
d'arrivée au lieu de la provenance fixe de la page. Page vie privée (fr, en) complétée.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Accueil prérendu en deux langues, huit pages statiques traduites avec hreflang
des deux côtés, captures de l'aide refaites dans l'app anglaise, modèles PDF
générés en français et en anglais, sitemap. Test des liens internes.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Textes de la landing (pastille, lede, H2 des étapes, de la démo et des guides, Pour qui)
et métadonnées og/twitter/JSON-LD sans « galaxie »
- npm run build fait le build client, un build SSR (src/entry-server.jsx, renderToString)
puis scripts/prerender.mjs injecte le HTML dans dist/index.html ; hydrateRoot côté client
- Rendu serveur sans accès window : source et isMobile posés après montage
- noscript rend visibles les blocs data-reveal sans JavaScript
- App : robots.txt en Allow pour que la meta noindex soit lue
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>