Historique des évolutions notables de MonRhumato.fr. Chaque entrée correspond à un commit réel du dépôt et est tenue à jour manuellement. Voir aussi
/api/version pour le commit en cours d'exécution en production.
Refonte 2026-05-13 chantier-contenu-1-sem
Chantier contenu — voice charter + audit + indexation Supabase FTS • Voice charter formalisée 4 audiences (medecin/patient/institutionnel/landing) avec mapping routes auto — src/lib/editorial/voice-charter.ts • Audit script : 89 issues détectées → 0 issue (3 liens moteur de recherche externe HIGH + 36 meta length raccourcies) • Index Supabase search_index : table tsvector français pondéré (A=title B=desc/keywords C=body) + 4 index GIN + RLS lecture publique • Endpoint /api/search unifié (websearch_to_tsquery + ts_rank + filtres facettes type/audience/pathology) • Cron Vercel /api/cron/build-search-index quotidien 02h Paris (30+ pages stratégiques réindexées) • Composant <GlobalSearchBar> dans le Banner — modale Cmd/Ctrl+K depuis n'importe où • Tests vitest voice-charter (15/15 verts) • docs/EDITORIAL.md créé (référence humaine du voice charter) Nouveauté 2026-05-13 a755e01
Annuaires paramédicaux complets — 672 563 fiches importées • Infirmiers DE : 609 339 fiches (avant : 25 samples) • Pédicures-podologues : 14 729 fiches (avant : 100 samples) • Ergothérapeutes : 20 549 fiches (avant : 100 samples) • Diététiciens : 27 946 fiches (avant : 100 samples) • Source : Annuaire Santé ANS LibreAccès (data.gouv.fr, MàJ 12 mai 2026) • Tous filtres ville/département/mode d'exercice fonctionnels sur les 4 hubs Correctif 2026-05-13 472587c
Refonte UX/contenu — bugs critiques signalés par Julien • Fiches paramed (infirmier/podo/ergo/diét) au niveau /kine : hero animé Cormorant Garamond, boutons tel/email/itinéraire, favoris ★ (4 namespaces séparés) • /recommandations : remplacement des recherches Google par 20 URL directes vérifiées (ard.eular.org, has-sante.fr, rheumatology.org…) + landing fallback officielle par société. Plus aucune Google search ouverte. • /recommandations : bug rendu balises <p>/<br> brutes corrigé (decodeHtmlEntities AVANT stripHtml) + 6 tests anti-régression • /ressources-patient : 4 URL HAS APA cassées remplacées (PR p_3506165, SpA p_3506169, Arthroses p_3360249, Fibro 2025 p_3493399) • /applications médecin : vignette « Vous regardiez » et « Actualités » branchées sur vraies API (avant : ytId placeholder + titres mockés tous pointant vers /actualite) • Cohérence cross-page : retrait du fond blanc forcé `body.has-medecin-sidebar`. Le beige #f0ebe3 du body se conserve, sidebar globale se fond dans le décor (avant : effet bloc isolé sur fond blanc plat) SEO 2026-05-13 69d8ff7
Fin refonte 3 mois — 25 OG dédiées + Twitter Cards alignées • 5 OG supplémentaires : /recettes, /cures-thermales, /applications, /videos, /videos-patient • 20 fichiers twitter-image.tsx créés pour aligner Twitter Cards sur OG dédiés (Next 16 utilise twitter.images globale du layout par défaut) • Cumul site : 25 OG images custom + Twitter Cards 100% alignées sur les pages couvertes • Tests : 54/54 verts (+4 anti-régression BreadcrumbSchema dans tests/breadcrumb-schema.test.ts) • Recap final mission : docs/RECAP-REFONTE-3MOIS-2026-05-13.md mis à jour SEO 2026-05-13 4539a4d
11 OG images supplémentaires — couverture quasi-complète • Pages haut-trafic patient : /alimentation, /infiltration, /apa, /comprendre-ma-douleur, /preparer-consultation, /glossaire-patient • Pages haut-trafic médecin : /biologie-rhumato, /criteres-diagnostic, /veille, /anatomie • Page entraide : /associations-patients • Pattern next/og uniforme : gradient pastel, logo MonRhumato, eyebrow couleur, titre 2 lignes, badges, footer source • Cumul total site : 20 OG images dédiées (9 batch précédent + 11 batch 13 mai soir) SEO 2026-05-13 aefd048
BreadcrumbList JSON-LD sur 26 pages — cluster annuaire 100% • Cluster annuaire entier couvert : hub /annuaires, 6 sous-hubs (rhumato/kine/infirmier/podo/ergo/diet), pages ville/département/établissement, toutes les fiches individuelles • Landings haut-trafic : /alimentation, /infiltration, /scores, /atlas-echographie, /comparateur-biotherapies, /recommandations, /comprendre-ma-douleur, /apa, /actualite, /essais-cliniques, /maladies-rares-rhumato • Vague 2 : /preparer-consultation, /associations-patients, /biologie-rhumato, /criteres-diagnostic, /anatomie, /veille • Vague 3 : /applications, /cures-thermales, /recettes • Vague 4 : /videos, /videos-patient, /glossaire-patient, /aide, /faq • Hiérarchie Accueil > [Section] > [Sous-section] > [Item] complète pour Google rich results Nouveauté 2026-05-13 8061697
CTA cross-pollination annuaires paramédicaux sur 3 pages patient • CTA diététiciens sur /alimentation (avant disclaimer) • CTA infirmiers sur /infiltration (suivi à domicile post-infiltration) • CTA kinés + ergothérapeutes sur /comprendre-ma-douleur • Pattern uniforme teal-light avec lien vers /annuaire-XXX + /annuaires hub SEO 2026-05-13 c199ea7
9 OG images dédiées + stats live partout • OG images next/og : /annuaires, /scores, /pathologies, /atlas-echographie, /recommandations, /comparateur-biotherapies, /actualite, /maladies-rares-rhumato, /essais-cliniques • Hub /annuaires : volumes LIVE depuis Supabase (plus de hardcode) • Landing /page.tsx : 3 stats LIVE (apps + pathos + rhumatos count) • Test ID validation pour SoignantsVignette (anti-régression bug silencieux) • Suite 50/50 verts Nouveauté 2026-05-13 a579470
SEO + UX cross-pollination des annuaires paramédicaux • Hub /annuaires (grille 7 annuaires : rhumato, kiné, kiné-APA, infirmier, podo, ergo, diét) • JSON-LD CollectionPage (hub) + Person + RPPS (4 fiches) • Chatbot Louise : liens paramédicaux contextuels par pathologie • Nouvelle vignette « Soignants associés » sur /pathologies • 325 paramédicaux samples live (100 podo + 100 ergo + 100 diét + 25 infirmiers) — pages non vides • 7 tests validation mapping pathologie → soignants (cohérence chatbot ↔ vignette) Nouveauté 2026-05-13 d9a5e8b
A11y + tests sur les annuaires paramédicaux • ParamedicalBrowser + InfirmiersBrowser : aria-label, role="search", role="navigation" sur pagination • 7 nouveaux smoke tests vitest sur les slug helpers (ASCII, NFD, suffix RPPS) • Suite complète 42/42 verts (5 fichiers) • Fix régression KineDensity (champs `code` + `count` + `population` obligatoires) Nouveauté 2026-05-13 25ebaa9
Annuaires paramédicaux Phase 1 — 4 nouveaux annuaires • /annuaire-infirmiers, /annuaire-podologues, /annuaire-ergotherapeutes, /annuaire-dieteticiens • Codes ANS TRE_G15-ProfessionSante : 60 (infirmier), 80 (podologue), 94 (ergo), 95 (diét) • Composants génériques ParamedicalBrowser + ParamedicalFiche réutilisables • Sidebars médecin + patient + sitemap + footer enrichis • Import scripts ANS LibreAccès prêts ; données à importer au retour Julien Refonte 2026-05-12 6f4da73
Refonte 3 mois — 78 pages migrées sur primitives • Design tokens centralisés (src/lib/design-tokens.ts) • Composants primitifs <Page>, <PageHeader>, <Section>, <Card>, <Caption> • 78 pages publiques alignées sur le pattern de référence /applications • DocPageHeader devient alias de PageHeader (cohérence header tokenisée) • Pages bespoke conservées : /applications (ref), /page.tsx (landing), /ensavoirplus-patient Correctif 2026-05-06 24ab60b
Honnêteté — corrections claims non vérifiables • Retrait HSTS preload « soumis aux moteurs » (directive présente, soumission pas faite) • Reformulation IP anonymisée (seul article_likes hashe, pas les logs Vercel) • Cookies GA4/Clarity ne sont pas HttpOnly (set par JS) • BetterStack « envisagé » au lieu de « en cours » Nouveauté 2026-05-06 da5b497
CISO — security.txt RFC 9116 + /securite + CVD policy • /securite : posture publique avec 14 mesures techniques • /securite/divulgation-responsable : Safe Harbor légal explicite • /securite/hall-of-fame : structure prête (liste vide) • security.txt enrichi : scope, SLA, hors-périmètre Nouveauté 2026-05-06 e9f1038
CTO — error boundaries + /status + /api/version • error.tsx racine + global-error.tsx pour crash root layout • /api/version : commit SHA + branche pour debug prod • /status : page publique auto-refresh 30s, ping Supabase Nouveauté 2026-05-06 4de5c39
QARA — statement non-DM + matériovigilance + glossaire • /non-dispositif-medical : déclaration formelle MDR (UE) 2017/745 • /signaler-incident-dm : 3 chemins ANSM + signalement éditorial • /glossaire-reglementaire : 22 termes A-Z classés par catégorie Nouveauté 2026-05-06 74578f3
RGPD + UX — export/erase + CTA caché si connecté • /api/rgpd/export : Art. 15 + 20, dump JSON authentifié • /api/rgpd/erase : Art. 17 avec double confirmation • Bouton « Supprimer mon compte » dans /parametres • /violation-donnees : procédure 6 étapes RGPD Art. 33-34 • <HideWhenAuth> : CTAs « Créer mon compte » masqués si connecté Nouveauté 2026-05-06 a65f906
RGPD — TTL consentement + registre Art. 30 • TTL 13 mois (CNIL) sur le consentement cookies • /preferences-cookies : gestion granulaire avec date du dernier choix • /registre-traitements : 8 traitements documentés Art. 30 RGPD Nouveauté 2026-05-06 f6a8798
Product — sticky CTA mobile + ⌘K + last-updated + onboarding • StickyMobileCTA : barre flottante mode-aware • CommandPalette ⌘K : index ~50 items + récents persistants • LastUpdated : badge sémantique <time> sur /actualite et /annuaire-rhumato • /onboarding : 3 étapes (exercice, pathologies, sources) • EmptyState intelligent dans annuaire (suggestions contextuelles) Nouveauté 2026-05-06 1aaff50
Product — skeletons + tracking + 404 • loading.tsx sur /annuaire-rhumato, /applications, /actualite • ProfileCard : event Vercel Analytics « profile_chosen » • /not-found : recherche annuaire en self-service + 8 sections clés Nouveauté 2026-05-06 d92d00e
CEO — traction chiffrée + manifeste • Home : stats traction + attribution Dr Schemoul (refonte écosystème 2026-05-06 ultérieure) • /manifeste : 5 principes (indépendance, science, souveraineté, service, ouverture) • Footer disclaimer enrichi avec lien méthodologie SEO 2026-05-06 47661f9
SEO — sitemap +3800 fiches rhumato + breadcrumb anatomie • Sitemap dynamique : ~100 départements + ~3800 fiches rhumatologues • Correction /annuaire (404 sitemap) → /annuaire-rhumato • BreadcrumbSchema JSON-LD sur /anatomie/[joint] Correctif 2026-05-04 a7c99a9
Jeu Journey — finitions admin et physique • Squash dynamique selon Δy à l'atterrissage • Bouton edit admin déplacé, collectibles visibles • Bouton télécharger ajouté Nouveauté 2026-05-04 d7b88c1
Jeu Journey — mode édition admin • Annoter les décors et marquer questions redondantes en ligne Nouveauté 2026-05-04 fa9219c
Jeu Journey — PWA offline 100% • Service Worker /sw-jeu-offline.js + brief design des fonds Nouveauté 2026-05-01 58e9f79
Vidéos patient — bibliothèque curée 24 chaînes • Sections : continuer à regarder, recommandations, 8 pathologies, méditation • Migration SQL video_editorial_approvals avec RLS Nouveauté 2026-04-29
Fiche praticien — 14 fetches API parallèles • OpenAlex (h-index, topics), HAL (biblio), iCite (RCR), Unpaywall (OA) • ClinicalTrials investigateur, Google Books co-écrits, Crossref abstracts • DataCite datasets, EuropePMC FR/EU, theses.fr direction (signal PU-PH) Nouveauté 2026-04-28
Annuaire ANS — 3824 rhumatologues importés • Import via CSV LibreAccès data.gouv (Licence Ouverte 2.0) • Pages /annuaire-rhumato/departement/[code] + /rhumatologue/[slug] • Tables : practitioners, practitioner_articles, practitioner_media, vue annuaire_v