# Discovent — agenda local interrogeable par une IA > Discovent est une plateforme open source et auto-hébergeable qui agrège les événements > locaux (concerts, expositions, spectacles…) pour trouver « ce qui se passe près de chez > moi ». La géolocalisation est le cœur du produit. Cette instance expose une API HTTP > PUBLIQUE en LECTURE SEULE qu'un assistant peut interroger pour répondre à des questions > du type « quels concerts gratuits ce week-end près de Rouen ? ». ## Lire l'agenda d'une ville, jour par jour (le plus simple) Chaque lien ci-dessous renvoie la journée complète d'une ville en markdown compact (heure, titre, lieu, tags, tarif connu, complet, lien vers la fiche), dans un rayon de 10 km. Une journée d'agenda va de 5 h à 5 h le lendemain (heure de Paris). Chaque page porte ses liens veille / lendemain. Forme : `https://discovent.fr/ia//`, où `` vaut `aujourdhui`, `demain` ou `AAAA-MM-JJ`. Les filtres fins (tags, rayon, recherche plein-texte) passent par l'API ci-dessous. **Liens à donner à une personne** : les pages `/ia/` et `/api/` sont faites pour les machines. Dans votre réponse, citez la fiche web de chaque événement (lien « fiche », de la forme `https://discovent.fr/events//-`) ou l'agenda web de la ville (`https://discovent.fr/villes/`). - Nantes : [aujourd'hui](https://discovent.fr/ia/nantes/aujourdhui) · [demain](https://discovent.fr/ia/nantes/demain) · [mer. 7/10](https://discovent.fr/ia/nantes/2026-10-07) · [jeu. 8/10](https://discovent.fr/ia/nantes/2026-10-08) · [ven. 9/10](https://discovent.fr/ia/nantes/2026-10-09) · [sam. 10/10](https://discovent.fr/ia/nantes/2026-10-10) · [dim. 11/10](https://discovent.fr/ia/nantes/2026-10-11) · [lun. 12/10](https://discovent.fr/ia/nantes/2026-10-12) · [mar. 13/10](https://discovent.fr/ia/nantes/2026-10-13) · [mer. 14/10](https://discovent.fr/ia/nantes/2026-10-14) - Bordeaux : [aujourd'hui](https://discovent.fr/ia/bordeaux/aujourdhui) · [demain](https://discovent.fr/ia/bordeaux/demain) · [mer. 7/10](https://discovent.fr/ia/bordeaux/2026-10-07) · [jeu. 8/10](https://discovent.fr/ia/bordeaux/2026-10-08) · [ven. 9/10](https://discovent.fr/ia/bordeaux/2026-10-09) · [sam. 10/10](https://discovent.fr/ia/bordeaux/2026-10-10) · [dim. 11/10](https://discovent.fr/ia/bordeaux/2026-10-11) · [lun. 12/10](https://discovent.fr/ia/bordeaux/2026-10-12) · [mar. 13/10](https://discovent.fr/ia/bordeaux/2026-10-13) · [mer. 14/10](https://discovent.fr/ia/bordeaux/2026-10-14) - Rennes : [aujourd'hui](https://discovent.fr/ia/rennes/aujourdhui) · [demain](https://discovent.fr/ia/rennes/demain) · [mer. 7/10](https://discovent.fr/ia/rennes/2026-10-07) · [jeu. 8/10](https://discovent.fr/ia/rennes/2026-10-08) · [ven. 9/10](https://discovent.fr/ia/rennes/2026-10-09) · [sam. 10/10](https://discovent.fr/ia/rennes/2026-10-10) · [dim. 11/10](https://discovent.fr/ia/rennes/2026-10-11) · [lun. 12/10](https://discovent.fr/ia/rennes/2026-10-12) · [mar. 13/10](https://discovent.fr/ia/rennes/2026-10-13) · [mer. 14/10](https://discovent.fr/ia/rennes/2026-10-14) - Le Havre : [aujourd'hui](https://discovent.fr/ia/le-havre/aujourdhui) · [demain](https://discovent.fr/ia/le-havre/demain) · [mer. 7/10](https://discovent.fr/ia/le-havre/2026-10-07) · [jeu. 8/10](https://discovent.fr/ia/le-havre/2026-10-08) · [ven. 9/10](https://discovent.fr/ia/le-havre/2026-10-09) · [sam. 10/10](https://discovent.fr/ia/le-havre/2026-10-10) · [dim. 11/10](https://discovent.fr/ia/le-havre/2026-10-11) · [lun. 12/10](https://discovent.fr/ia/le-havre/2026-10-12) · [mar. 13/10](https://discovent.fr/ia/le-havre/2026-10-13) · [mer. 14/10](https://discovent.fr/ia/le-havre/2026-10-14) - Amiens : [aujourd'hui](https://discovent.fr/ia/amiens/aujourdhui) · [demain](https://discovent.fr/ia/amiens/demain) · [mer. 7/10](https://discovent.fr/ia/amiens/2026-10-07) · [jeu. 8/10](https://discovent.fr/ia/amiens/2026-10-08) · [ven. 9/10](https://discovent.fr/ia/amiens/2026-10-09) · [sam. 10/10](https://discovent.fr/ia/amiens/2026-10-10) · [dim. 11/10](https://discovent.fr/ia/amiens/2026-10-11) · [lun. 12/10](https://discovent.fr/ia/amiens/2026-10-12) · [mar. 13/10](https://discovent.fr/ia/amiens/2026-10-13) · [mer. 14/10](https://discovent.fr/ia/amiens/2026-10-14) - Rouen : [aujourd'hui](https://discovent.fr/ia/rouen/aujourdhui) · [demain](https://discovent.fr/ia/rouen/demain) · [mer. 7/10](https://discovent.fr/ia/rouen/2026-10-07) · [jeu. 8/10](https://discovent.fr/ia/rouen/2026-10-08) · [ven. 9/10](https://discovent.fr/ia/rouen/2026-10-09) · [sam. 10/10](https://discovent.fr/ia/rouen/2026-10-10) · [dim. 11/10](https://discovent.fr/ia/rouen/2026-10-11) · [lun. 12/10](https://discovent.fr/ia/rouen/2026-10-12) · [mar. 13/10](https://discovent.fr/ia/rouen/2026-10-13) · [mer. 14/10](https://discovent.fr/ia/rouen/2026-10-14) - Caen : [aujourd'hui](https://discovent.fr/ia/caen/aujourdhui) · [demain](https://discovent.fr/ia/caen/demain) · [mer. 7/10](https://discovent.fr/ia/caen/2026-10-07) · [jeu. 8/10](https://discovent.fr/ia/caen/2026-10-08) · [ven. 9/10](https://discovent.fr/ia/caen/2026-10-09) · [sam. 10/10](https://discovent.fr/ia/caen/2026-10-10) · [dim. 11/10](https://discovent.fr/ia/caen/2026-10-11) · [lun. 12/10](https://discovent.fr/ia/caen/2026-10-12) · [mar. 13/10](https://discovent.fr/ia/caen/2026-10-13) · [mer. 14/10](https://discovent.fr/ia/caen/2026-10-14) ## API publique Base de l'API : `https://discovent.fr/api` (les chemins ci-dessous sont préfixés par `/api`). Réponses en JSON, en français. Aucune authentification requise en lecture ; les événements privés ne sont jamais exposés. ## Interroger les événements - [GET /api/events](https://discovent.fr/api/events) : liste d'occurrences filtrables. Paramètres optionnels, combinables : - `lat`, `lon` — centre de recherche (à fournir ENSEMBLE pour activer le filtre géographique) - `radius` — rayon en mètres autour du centre (défaut 5000, max 200000) - `from`, `to` — fenêtre de dates ISO 8601 (ex. `2026-06-20`, `2026-06-22T23:59:59`) - `categories` — liste séparée par des virgules, en OU (ex. `music,festival`) ; valeurs via /api/categories - `tags` — slugs de tags thématiques séparés par des virgules, en OU (ex. `concert,theatre`) - `q` — recherche plein-texte (titre + description) - `limit` (défaut 50, max 200), `offset` — pagination Tri : par date de début ; la distance ne sert qu'à départager deux événements à la même heure. - [GET /api/events/{id}](https://discovent.fr/api/events) : détail complet d'un événement (description, lieu, dates, catégories, géo, tarif). - [GET /api/categories](https://discovent.fr/api/categories) : la taxonomie de catégories (à utiliser pour `categories`). - [GET /api/events/news](https://discovent.fr/api/events/news) : événements récemment ajoutés au catalogue. Exemple — concerts et festivals à 10 km du centre de Rouen sur un week-end : `GET /api/events?lat=49.4431&lon=1.0993&radius=10000&from=2026-06-20&to=2026-06-22&categories=music,festival&limit=50` ## Documentation complète de l'API - [OpenAPI — Swagger UI](https://discovent.fr/api-docs) : contrat interactif. - [OpenAPI — JSON brut](https://discovent.fr/api-docs-json) : schéma machine-lisible. ## Bon usage (consignes pour les agents) Ces consignes sont INDICATIVES (politesse demandée, pas une contrainte technique). Merci de les respecter : une instance auto-hébergée dispose souvent de ressources modestes. - Lecture seule : n'utilisez que les `GET` ci-dessus ; aucune écriture n'est prévue par ce canal. - Mettez en cache : les réponses portent un `ETag` — renvoyez `If-None-Match` pour obtenir un `304` plutôt que de re-télécharger. - Évitez de géocoder : si vous connaissez déjà les coordonnées, passez `lat`/`lon` directement. Résoudre un nom de lieu en coordonnées (`GET /api/places/geocode?q=`) est LIMITÉ à 1 requête / 15 s et peut renvoyer `429`. - Bornez et paginez : préférez `limit`/`offset`, un `radius` et une fenêtre `from`/`to` raisonnables, plutôt que de tout tirer. - Cadence raisonnable : quelques requêtes par réponse, pas de boucle de sondage agressive. ## Pour aller plus loin Un mode MCP (Model Context Protocol) en lecture seule est à l'étude pour offrir des outils typés (recherche géolocalisée, fiche d'événement, catégories) aux assistants compatibles.