Methodology & sources
This tracker aggregates publicly reported stories. It is not an official crime database, and it will miss incidents that never make the wires.
What we pull
Google News RSS (France + violence terms), Le Monde, France 24, BFMTV, The Guardian (France), BBC Europe, and — when reachable — GDELT DOC/GEO APIs filtered to France and violence themes. Each incident on the map shows its source name, link, and timestamp.
How incidents are built
Headlines and summaries are keyword-filtered (riot, unrest, stabbing, shooting, looting, arson, police clashes, etc., plus French equivalents). Type labels are assigned by keyword rules. City locations are matched from a fixed French city gazetteer; nationwide stories sit at a France centroid and are tagged “Nationwide.” We never invent a city or a count.
Refresh & cache
A Cloudflare Pages Function refreshes the feed on demand and caches responses so visitors do not hammer upstream APIs. If a source is down, the UI says so — we do not fabricate replacements.
What we refuse
No graphic images. No targeting or blaming of ethnic, religious, or national groups. No naming of private individuals beyond what the linked headline already says. Neutral, factual labels only.
Limits
Media attention is uneven. Duplicate coverage of one event can still appear as multiple reports. Geocoding can be wrong when a headline names no city. Always open the source link.