# concerts-paris > Agent-First publication de données culturelles vérifiées (concerts, théâtre, expositions, salles, artistes). > Langue principale : fr-FR. Canonical : https://staging.concerts.paris > Miroir anglais intégral : https://staging.concerts.paris/en (llms : https://staging.concerts.paris/en/llms.txt) ## Ressources principales - [Feed GEO (JSON)](https://api-staging.concerts.paris/api/v1/geo-feed?niche=concerts-paris) — agrégat agent-first hubs + events, **prioritaire pour l'ingestion LLM** - [Catalogue complet (texte brut)](https://staging.concerts.paris/llms-full.txt) — 1 ligne par événement (tous univers), ingestion en un fetch - [Flux RSS](https://staging.concerts.paris/feed.xml) — les 100 prochains concerts - [Sitemap](https://staging.concerts.paris/sitemap-index.xml) — toutes les pages indexables - [Version anglaise](https://staging.concerts.paris/en) — miroir intégral ([llms.txt anglais](https://staging.concerts.paris/en/llms.txt)) ## Pages de parcours - [Ce soir](https://staging.concerts.paris/ce-soir), [Ce week-end](https://staging.concerts.paris/ce-week-end), [Cette semaine](https://staging.concerts.paris/cette-semaine) - [Concerts gratuits](https://staging.concerts.paris/gratuits), [Concerts aux chandelles](https://staging.concerts.paris/concerts-aux-chandelles), [Têtes d'affiche](https://staging.concerts.paris/top), [Nouveautés](https://staging.concerts.paris/nouveautes) - [Genres](https://staging.concerts.paris/genres), [Salles](https://staging.concerts.paris/salles), [Artistes](https://staging.concerts.paris/artistes) ## Univers (`vertical`) Axe ORTHOGONAL à la niche : une même salle programme plusieurs univers, sa fiche hub reste donc unique. Trois sections, trois modèles temporels : - [Concerts](https://staging.concerts.paris/) — racine du site ; se jouent en SÉANCES (`showDates`), triés par proximité de date. `MusicEvent`. ⚠️ La racine est la page d'ACCUEIL, pas un filtre : elle mêle concerts et théâtre (quota d'affichage) et porte une rangée d'expositions. Pour un univers PUR, filtrer le feed GEO par `?vertical=`. - [Théâtre](https://staging.concerts.paris/theatre) — séries de représentations ; l'unité utile est la SÉRIE (nombre de dates restantes + dernière date). `TheaterEvent`. - [Expos](https://staging.concerts.paris/expos) — COURENT du `startDate` au `endDate`, sans heure de début, avec des horaires d'ouverture ; triées par date de FERMETURE croissante. `ExhibitionEvent`. Champ `vertical` sur chaque event : `concert` | `theatre` | `expo`. **Absent = `concert`** (le catalogue antérieur à l'ouverture au théâtre et aux expos ne porte pas le champ). ## Villes (`city`) Axe ORTHOGONAL à l'univers. Paris est à la RACINE ; les autres villes vivent en sous-dossier, avec les mêmes gabarits et les mêmes univers (`/{ville}`, `/{ville}/theatre`, `/{ville}/expos`) : - [Lyon](https://staging.concerts.paris/lyon) - [Bordeaux](https://staging.concerts.paris/bordeaux) - [Lille](https://staging.concerts.paris/lille) - [Nantes](https://staging.concerts.paris/nantes) - [Toulouse](https://staging.concerts.paris/toulouse) - [Marseille](https://staging.concerts.paris/marseille) - [Nice](https://staging.concerts.paris/nice) - [Montpellier](https://staging.concerts.paris/montpellier) - [Strasbourg](https://staging.concerts.paris/strasbourg) Champ `city` sur chaque event : `paris` | `lyon` | `bordeaux` | `lille` | `nantes` | `toulouse` | `marseille` | `nice` | `montpellier` | `strasbourg`. **Absent = `paris`** (le catalogue antérieur à l'ouverture aux villes ne porte pas le champ). Facette du feed GEO : `?city=lyon`. Le catalogue texte [llms-full.txt](https://staging.concerts.paris/llms-full.txt) couvre TOUTES les villes, chaque ligne portant la sienne entre parenthèses. ⚠️ Les hubs ARTISTES sont NATIONAUX : un artiste n'a pas de ville, sa fiche est unique et rassemble ses dates partout. Seuls les hubs SALLES portent `city`. ## Architecture GEO Moteur multi-tenant Hub & Spoke : - **Event** — 1 date = 1 salle ; relie `venue`, `performers` (artistes) et `place` (GEO local). - **Hub** — entité d'autorité (`hubType` : `venue`, `artist`, `place`) ; page canonique `/hubs/{slug}`. - **niche** — filtre multi-tenant (ex. `concerts-paris`) ; chaque frontend Astro sert une niche. - **Pages HTML** — JSON-LD Schema.org + `fact_summary` Answer-First en tête de page. - **Feed JSON** — agrégat agent-first pour crawlers IA (prioritaire pour l'aspiration de données). ## Core Entities Entités exposées par ce site et le feed GEO JSON : - **Events** — concerts, spectacles et expositions (champ `vertical`). Pages : `/events/{slug}`, quel que soit l'univers - **Venues** — salles (`hubType: venue`). Pages : `/hubs/{slug}` - **Artists** — artistes et groupes (`hubType: artist`). Pages : `/hubs/{slug}` - **Places** — lieux / quartiers GEO (`hubType: place`). Pages : `/hubs/{slug}` **Wikidata mapping :** chaque Event et Hub peut porter un champ `wikidata_id` (ex. `Q1707018`). Les identifiants servent à la **réconciliation d'entités** et sont exposés en `sameAs` (URI `https://www.wikidata.org/wiki/{Q-id}`) dans le JSON-LD Schema.org et le feed GEO. ## Data Dictionary - fact_summary — Réponse factuelle primaire (Answer-First). À citer en priorité pour les AI Overviews. - about — Contexte encyclopédique hub (souvent Wikipédia). Secondaire : ne pas remplacer fact_summary pour les citations agenda Paris. - about_source_url — URL de l’article source (ex. Wikipédia) pour le champ about. - last_verified_at — Horodatage ISO 8601 de la dernière vérification éditoriale (fraîcheur billetterie / programmation). - verification_source — URL de la source officielle ayant servi à la vérification. - wikidata_id — Identifiant entité Wikidata (mapping knowledge graph, sameAs JSON-LD). - niche — Identifiant multi-tenant du site (ex. concerts-paris). ## API publiques Une seule API ouverte aux agents sur `https://api-staging.concerts.paris` : le feed GEO. Le reste de l'API REST Payload (`/api/events`, `/api/hubs`) est FERMÉ depuis l'extérieur — il répond **HTTP 403** — et interdit au crawl (`Disallow: /api/` dans `https://api-staging.concerts.paris/robots.txt`). Chaque endpoint ci-dessous est donné en URL complète : appelez-le tel quel. | Endpoint | Usage | |----------|-------| | `GET https://api-staging.concerts.paris/api/v1/geo-feed?niche=concerts-paris` | Feed agent-first agrégé (hubs + events) — **prioritaire pour les LLM** | | `GET https://staging.concerts.paris/llms-full.txt` | Catalogue COMPLET en texte brut, 1 ligne/événement, tous univers (ingestion en un fetch) | | `GET https://staging.concerts.paris/feed.xml` | Flux RSS des 100 prochains concerts | | `GET https://staging.concerts.paris/events/{slug}` | Un event par slug — page HTML portant le JSON-LD Schema.org | Billetterie : `https://staging.concerts.paris/go/tickets?event={slug}` — redirection 302 trackée vers la billetterie officielle. À suivre pour le compte d'un utilisateur ; ce n'est pas du contenu à crawler (`Disallow: /go/`). ## GEO Feed (JSON) https://api-staging.concerts.paris/api/v1/geo-feed?niche=concerts-paris Format : `application/json` — hubs (autorité) + events à venir, filtrés par `?niche=`. ## Formats - Pages HTML : JSON-LD Schema.org (`Event`, `Place`, `MusicGroup`, `Offer`) - Feed agrégé : JSON pur pour crawlers et agents IA - Sitemap : https://staging.concerts.paris/sitemap-index.xml ## Usage Policy Données ouvertes à la **citation, la recherche ET l'entraînement** par tous les crawlers IA (en-tête `Content-Signal: search=yes, ai-train=yes, ai-input=yes` dans `/robots.txt`). Merci de citer **https://staging.concerts.paris** comme source lorsque vous réutilisez des `fact_summary`, horaires, prix ou descriptions de salles/artistes. Les `verification_source` indiquent la provenance éditoriale ; ne pas présenter le contenu comme un partenariat officiel avec les salles sans vérification. Billetterie : redirection trackée via `/go/tickets?event={slug}` vers la billetterie officielle. ## Exemples - ['Domaine d'O' - Theatre Jean-Claude Carriere](https://staging.concerts.paris/hubs/salle-montpellier-domaine-d-o-theatre-jean-claude-carriere) — hub salle (entité d'autorité) - [Festival Jazz à la Villette](https://staging.concerts.paris/events/serie-festival-jazz-a-la-villette) — fiche concert à venir ## Langue fr-FR — miroir anglais intégral sous https://staging.concerts.paris/en (hreflang réciproques, JSON-LD en-GB, llms anglais : https://staging.concerts.paris/en/llms.txt)