feat: OG png + sentry + dept api + drom notice + registre canicule
Some checks are pending
Deploy info-canicule / deploy (push) Waiting to run
Some checks are pending
Deploy info-canicule / deploy (push) Waiting to run
Quick wins : - public/og-image.png (1200x630, via sharp depuis le SVG, build via pnpm build) SVG ne fonctionne pas pour Open Graph (Slack/Discord/X/FB). - @sentry/astro intégré conditionnellement (skip si SENTRY_DSN absent → no-op). GIT_COMMIT_SHA en var pour le release tag dans GlitchTip si voulu. - /api/vigilance/dept/[code] : JSON enrichi (phenomenon label + color name) pour J et J1, CORS *, Cache-Control 5min. 404 si code unknown. - JSON-LD enrichi : @graph WebSite + Service avec isBasedOn Dataset + license LOv2. - Lien retour vigilance.meteofrance.fr visible sous la carte. DROM (97x / 976) : - 5 entrées ajoutées dans departements.ts (région "DROM"). - /departement/[code] DROM : bannière "Vigilance Outre-mer non couverte par cette source open data" + bouton vers vigilance.meteofrance.fr. - Home : ligne sous la carte listant les 5 DROM + lien retour. - L'API /api/vigilance/dept/<DROM> retourne quand même un JSON 200 (arrays vides). Registre canicule : - Page /conseils/registre-canicule : qui, quoi, comment s'inscrire au CCAS. - Numéro vert 0 800 06 66 66. - Bannière mise en avant en haut de /conseils. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
89e48c18e4
commit
87d173684c
13 changed files with 1595 additions and 35 deletions
|
|
@ -14,7 +14,7 @@ const {
|
|||
title = 'Info Canicule — Vigilance météo France en temps réel',
|
||||
description = 'Suivi gratuit et sans publicité des alertes Vigilance Météo France (canicule, orages, tempêtes), avec carte interactive par département et conseils officiels.',
|
||||
canonical,
|
||||
ogImage = '/og-image.svg',
|
||||
ogImage = '/og-image.png',
|
||||
noindex = false,
|
||||
} = Astro.props;
|
||||
|
||||
|
|
@ -25,20 +25,43 @@ const umamiSrc = process.env.UMAMI_SRC ?? 'https://analytics.nocleus.com/script.
|
|||
|
||||
const jsonLd = {
|
||||
'@context': 'https://schema.org',
|
||||
'@type': 'WebSite',
|
||||
name: 'Info Canicule',
|
||||
url: SITE,
|
||||
description,
|
||||
inLanguage: 'fr-FR',
|
||||
publisher: {
|
||||
'@type': 'Person',
|
||||
name: 'Florian Bouchet',
|
||||
},
|
||||
potentialAction: {
|
||||
'@type': 'SearchAction',
|
||||
target: `${SITE}/departement/{code}`,
|
||||
'query-input': 'required name=code',
|
||||
},
|
||||
'@graph': [
|
||||
{
|
||||
'@type': 'WebSite',
|
||||
'@id': `${SITE}/#website`,
|
||||
name: 'Info Canicule',
|
||||
url: SITE,
|
||||
description,
|
||||
inLanguage: 'fr-FR',
|
||||
publisher: { '@type': 'Person', name: 'Florian Bouchet' },
|
||||
potentialAction: {
|
||||
'@type': 'SearchAction',
|
||||
target: `${SITE}/departement/{code}`,
|
||||
'query-input': 'required name=code',
|
||||
},
|
||||
},
|
||||
{
|
||||
'@type': 'Service',
|
||||
'@id': `${SITE}/#service`,
|
||||
name: 'Info Canicule',
|
||||
serviceType: 'Service d\'information météorologique grand public',
|
||||
areaServed: { '@type': 'Country', name: 'France' },
|
||||
audience: { '@type': 'PeopleAudience', audienceType: 'Grand public, personnes fragiles' },
|
||||
provider: {
|
||||
'@type': 'Person',
|
||||
name: 'Florian Bouchet',
|
||||
url: `${SITE}/a-propos`,
|
||||
},
|
||||
isBasedOn: {
|
||||
'@type': 'Dataset',
|
||||
name: 'Vigilance Météo France',
|
||||
url: 'https://vigilance.meteofrance.fr/',
|
||||
creator: { '@type': 'Organization', name: 'Météo-France' },
|
||||
license: 'https://www.etalab.gouv.fr/licence-ouverte-open-licence/',
|
||||
},
|
||||
isAccessibleForFree: true,
|
||||
},
|
||||
],
|
||||
};
|
||||
---
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue