Open source
Open source
Contexte Tech est construit entièrement avec des logiciels libres. Merci à leurs auteurs et communautés.
Le code de la première version (v1) de Contexte Tech est libre, sous licence AGPL-3.0 : github.com/contexte-tech/contextetech
★ Mettre une étoile sur GitHub
Par souci de transparence, les statistiques de fréquentation sont publiques : stats.contextetech.com
Données ouvertes
Sources de données ouvertes publiques
Les jeux de données de Contexte Tech sur les communes, les régions et les lieux sont construits à partir de données ouvertes publiées par des organismes publics. Les réponses citent leur source. Voici les données utilisées, leur licence et le dataset qui en est tiré.
- Instituto Nacional de Estadística (INE), EspañaCifras oficiales de población de los municipios españoles: Revisión del Padrón municipal a 1 de enero de 2025 · DatasetCitation de la source
- Ministero dell'Interno, ItaliaElenco comuni italiani al censimento 2021 · DatasetCC BY 4.0
- Statistisches Bundesamt (Destatis), DeutschlandGemeindeverzeichnis – Kreisfreie Städte und Landkreise, Stand 31.12.2024 · Datasetdl-de/by-2-0
- Centraal Bureau voor de Statistiek (CBS), NederlandRegionale kerncijfers Nederland (70072ned) · DatasetCC BY 4.0
- Centraal Bureau voor de Statistiek (CBS), NederlandBevolking op 1 januari en gemiddeld; geslacht, leeftijd en regio (03759ned) · DatasetCC BY 4.0
- Instituto Nacional de Estatística (INE), PortugalPopulação residente (N.º), Censos 2021 · DatasetCC BY 4.0
- Statistiska centralbyrån (SCB), SverigeFolkmängden efter region, civilstånd, ålder och kön, 31 december 2024 · DatasetCC0
- Główny Urząd Statystyczny (GUS), PolskaBank Danych Lokalnych: ludność według płci, stan w dniu 31 grudnia 2025 · DatasetCC BY 4.0
- Central Statistics Office (CSO), IrelandFY001 – Population at Each Census · DatasetCC BY 4.0
- U.S. Census Bureau, United StatesVintage 2025 Population Estimates (NST-EST2025) · DatasetPublic domain
- Ressources naturelles CanadaBase de données toponymiques du Canada · DatasetOGL-Canada
- Ministère des Affaires municipales et de l'Habitation (MAMH), QuébecRépertoire des municipalités du Québec · DatasetCC BY 4.0
Interface
Des pages rapides, lisibles par Google
Chaque fiche est rendue côté serveur par Astro et arrive dans le navigateur en HTML pur, sans attendre de JavaScript. C'est ce qui permet à une ressource d'être indexée correctement et affichée instantanément, même sur mobile. Seuls les éléments interactifs, comme le formulaire de publication, les likes ou le bac à sable, sont des petits îlots Svelte chargés à la demande.
- AstroPages rendues côté serveur, en HTML pur, rapides et indexables.MIT
- SvelteÎlots interactifs : formulaires, likes, bac à sable.MIT
- Instrument SansPolice principale.OFL-1.1
- JetBrains MonoPolice du code.OFL-1.1
- FontsourcePolices hébergées par le site lui-même.MIT
API
Une API simple et documentée
Derrière le site, une API écrite en Python avec FastAPI gère les ressources, les comptes, les commentaires et la modération. Pydantic valide chaque donnée reçue, SQLAlchemy et Alembic font évoluer la base sans la casser, et la documentation de l'API est générée automatiquement : n'importe quel développeur peut s'en servir pour intégrer le catalogue dans ses propres outils.
- PythonLangage de l'API.PSF
- FastAPIAPI asynchrone et sa documentation.MIT
- UvicornServeur ASGI de l'API.BSD-3
- PydanticValidation des données.MIT
- SQLAlchemyAccès à la base de données.MIT
- AlembicMigrations du schéma.MIT
- asyncpgPilote PostgreSQL asynchrone.Apache-2.0
- HTTPXAppels HTTP vers les modèles.BSD-3
Données
Des données solides et un cache rapide
Les ressources sont stockées dans PostgreSQL, une base éprouvée qui gère aussi la recherche et les tags. Redis garde les sessions, met en cache les listes les plus consultées et limite les abus, comme les publications ou les commentaires en rafale. Les gros datasets partent dans un stockage objet compatible S3 et se téléchargent par lien temporaire.
- PostgreSQLBase de données.PostgreSQL
- RedisSessions, cache et limitation de débit.RSALv2 / SSPL
- boto3Stockage objet des gros datasets.Apache-2.0
Serveur
Hébergé en France
Le site tourne dans des conteneurs Docker derrière Caddy, qui gère automatiquement le HTTPS et HTTP/3, sur un serveur Linux. Le serveur et la base de données sont hébergés en France chez Scaleway, ce qui simplifie le respect du RGPD pour les membres comme pour les entreprises qui utilisent le catalogue.
- CaddyHTTPS automatique, HTTP/3, compression.Apache-2.0
- DockerConteneurs de l'API, du site et du cache.Apache-2.0
- Oracle LinuxSystème du serveur.GPL
- BunnyCDN et DNS : fichiers servis au plus près des visiteurs.
IA
Pensé pour les modèles IA
Le bac à sable fonctionne avec les modèles Claude d'Anthropic ou avec des modèles ouverts exécutés localement via Ollama ou vLLM. Les outils suivent le Model Context Protocol, le standard ouvert qui permet de brancher un même serveur d'outils sur Claude, Cursor ou d'autres assistants. Les exports visent les formats ouverts du fine-tuning : Axolotl, PEFT et les datasets JSONL.
- Anthropic SDKBac à sable avec les modèles Claude.MIT
- Model Context ProtocolStandard des serveurs d'outils MCP.MIT
- OllamaModèles locaux pour le bac à sable.MIT
Sécurité et respect de la vie privée
Sécurité et respect de la vie privée
Les mots de passe sont chiffrés, les sessions passent par des cookies protégés et chaque écriture vérifie qu'elle vient bien du site. Les polices sont servies par le site lui-même : aucune donnée de navigation n'est envoyée à un service externe pour afficher une page.
Hébergement
Hébergement
Serveur et base de données hébergés en France chez Scaleway, CDN et DNS chez Bunny. Polices servies par le site lui-même, sans appel à un service externe.
Python
Le paquet contexte
Chargez n'importe quelle fiche du catalogue en une ligne de Python : dataset prêt pour l'entraînement, prompt à remplir, contexte few-shot prêt pour une API de chat. Aucune dépendance, licence MIT.
$ pip install contexte import contexte ds = contexte.load("contextetech/anonymisation-rgpd-fr") p = contexte.load("jr6t0n") # code court : fin de l'adresse de la fiche
$ contexte get jr6t0n