Niveaux territoriaux : NATIONAL (aucun filtre), RÉGIONAL (region_code),
DÉPARTEMENTAL (departement_code), COMMUNAL (commune_code).
Actions de base : list_elections, query_results, list_bureaux, query_bureau,
query_by_bureau, rank_bureaux, list_circonscriptions, query_circonscription,
list_cantons, query_canton, search_candidate, query_candidatures, etc.
Actions « panel » (1 appel = analyse complète, évite les boucles) :
- compare_elections : compare deux scrutins pour un territoire
(election_id + compare_to_election + commune_code|departement_code,
candidate_name optionnel).
- query_all_circonscriptions : vainqueur de CHAQUE circonscription d'un
territoire en un appel (election_id + commune_code|departement_code,
législatives uniquement).
- vote_reserve : score d'une famille + abstention par bureau de vote sur
les scrutins récents comparables (commune_code + famille).
- select_communes : sélectionne/classe des communes par critères géo +
population + électoraux (region_code/departement_code/epci/commune_codes,
population_min/max, commune_metric, condition, sort_by, limit, order ;
commune_metric/condition nécessitent election_id). commune_metric accepte
PLUSIEURS métriques séparées par des virgules — une colonne chacune, en
un seul appel ; condition et sort_by portent alors sur la première.
- cross_election_panel : évolution d'un sujet (famille ou nuance_code) par
commune sur N scrutins (elections=ids séparés par des virgules + scope
optionnel commune_code/departement_code/region_code/commune_codes ;
SANS scope = national, panel complet en data_file). Renvoie aussi
« ensemble » : score du périmètre entier par scrutin + delta, pondéré
par les exprimés — ne pas boucler par département. famille et nuance_code
acceptent PLUSIEURS sujets séparés par des virgules ('Gauche,Droite') :
tous en un appel, agrégats dans « ensembles ». group_by='region'|
'departement' ajoute un agrégat pondéré PAR MAILLE dans le même appel —
ne jamais boucler un appel par région.
- bureau_breakdown : pivot par bureau (top_n nuances/blocs + participation,
with_sociodem optionnel) pour commune_code + election_id.