Journal public

Changelog

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.

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é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
Correctif472587c

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)
SEO69d8ff7

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
SEO4539a4d

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)
SEOaefd048

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é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
SEOc199ea7

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é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é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é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
Refonte6f4da73

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
Correctif24ab60b

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é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é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é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é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éa65f906

DPO — 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é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é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é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
SEO47661f9

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]
Correctifa7c99a9

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éd7b88c1

Jeu Journey — mode édition admin

  • Annoter les décors et marquer questions redondantes en ligne
Nouveautéfa9219c

Jeu Journey — PWA offline 100%

  • Service Worker /sw-jeu-offline.js + brief design des fonds
Nouveauté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é

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é

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
Cette liste n'inclut que les évolutions notables. Pour l'historique exhaustif (~250 commits depuis 2024), voir le dépôt GitHub ↗. Pour signaler un manquement ou demander une mise à jour : contactez-nous.
Page d'accueil