@tricoteuses/assemblee
Version:
Retrieve, clean up & handle French Assemblée nationale's open data
255 lines (254 loc) • 8.74 kB
TypeScript
export interface Scrutins {
scrutins: Scrutin[];
}
/**
* Scrutin
*
* Les positions de vote (pour, contre ou abstention) de chaque député pour les {@link https://www.vie-publique.fr/fiches/19498-comment-votent-les-parlementaires | scrutins solennels}, les déclarations du Gouvernement, les motions de procédure et les autres scrutins publics.
*/
export interface Scrutin {
schemaVersion?: string;
/**
* Identifiant unique.
*/
uid: string;
/**
* Numéro unique du vote, relativement à la législature, débutant par 1 et par incrément de 1. On le retrouve aussi à la fin de l'identifiant unique du vote (uid).
*/
numero: string;
/**
* L'identifiant unique (uid) de l'{@link Organe | organe} au sein duquel se déroule le vote. Il s'agit toujours de l'Assemblée Nationale mais son uid varie en fonction de la législature.
*/
organeRef: string;
/**
* Numéro de {@link https://fr.wikipedia.org/wiki/Liste_des_l%C3%A9gislatures_fran%C3%A7aises | la législature} sous laquelle a été créé le scrutin. Nombre entier.
*/
legislature: string;
/**
* Le contenu de ce champ n'est pas défini.
*/
sessionRef: string;
/**
* Identifiant unique (uid) de l'entrée de l'{@link Reunion | agenda} correspondant au moment ou le vote a lieu.
*/
seanceRef: string;
/**
* Date à laquelle le vote a eu lieu.
*/
dateScrutin: Date;
/**
* Numéro de la séance dans la journée.
*/
quantiemeJourSeance: string;
/**
* Type de vote: MOC pour motion de censure, SAT pour scrutin à la tribune, SPO pour scrutin public ordinaire, SPS pour scrutin public solennel et SSG pour scrutin solennel congrès
*/
typeVote: TypeVote;
/**
* Résultat du vote (adopté ou non).
*/
sort: SortScrutin;
/**
* Objet du vote.
*/
titre: string;
/**
* L'{@link Acteur | acteur} ou l'{@link Organe | organe} qui {@link http://www2.assemblee-nationale.fr/decouvrir-l-assemblee/role-et-pouvoirs-de-l-assemblee-nationale/les-fonctions-de-l-assemblee-nationale/les-fonctions-legislatives/les-votes-a-l-assemblee-nationale | demande le vote}. C'est un texte libre destiné à l'affichage.
*/
demandeur: Demandeur;
/**
* Objet du vote, toujours identique au champ titre.
*/
objet: ObjetVote;
/**
* La signification de ce champ n'est pas définie.
*/
modePublicationDesVotes: ModePublicationDesVotes;
/**
* Résultat du vote (adopté ou non) et le décompte des voix.
*/
syntheseVote: SyntheseVote;
ventilationVotes: VentilationVotes;
miseAuPoint?: MiseAuPoint;
lieuVote?: LieuVote;
}
/**
* L'{@link Acteur | acteur} ou l'{@link Organe | organe} qui {@link http://www2.assemblee-nationale.fr/decouvrir-l-assemblee/role-et-pouvoirs-de-l-assemblee-nationale/les-fonctions-de-l-assemblee-nationale/les-fonctions-legislatives/les-votes-a-l-assemblee-nationale | demande le vote}. C'est un texte libre destiné à l'affichage.
*/
export interface Demandeur {
texte?: string;
}
export interface MiseAuPoint {
nonVotants?: Votant[];
pour?: Votant[];
contre?: Votant[];
abstentions?: Votant[];
nonVotantsVolontaires?: Votant[];
dysfonctionnement?: Dysfonctionnement;
}
export interface Dysfonctionnement {
nonVotants?: Votant[];
pour?: Votant[];
contre?: Votant[];
abstentions?: Votant[];
nonVotantsVolontaires?: Votant[];
}
/**
* La signification de ce champ n'est pas définie.
*/
export declare enum ModePublicationDesVotes {
DecompteDissidentsPositionGroupe = "DecompteDissidentsPositionGroupe",
DecompteNominatif = "DecompteNominatif"
}
/**
* Objet du vote, toujours identique au champ titre.
*/
export interface ObjetVote {
libelle: string;
}
/**
* Résultat du vote (adopté ou non).
*/
export interface SortScrutin {
code: CodeSortScrutin;
libelle: LibelleSortScrutin;
}
export declare enum CodeSortScrutin {
Adopté = "adopt\u00E9",
Rejeté = "rejet\u00E9"
}
export declare enum LibelleSortScrutin {
LAssembléeNationaleAAdopté = "l'Assembl\u00E9e nationale a adopt\u00E9",
LAssembléeNationaleNAPasAdopté = "L'Assembl\u00E9e nationale n'a pas adopt\u00E9",
LeCongrèsDuParlementAAdopté = "Le Congr\u00E8s du Parlement a adopt\u00E9",
LeCongrèsDuParlementNAPasAdopté = "Le Congr\u00E8s du Parlement n'a pas adopt\u00E9"
}
/**
* Résultat du vote (adopté ou non) et le décompte des voix.
*/
export interface SyntheseVote {
/**
* Nombre de votants, c'est à dire de {@link http://www2.assemblee-nationale.fr/decouvrir-l-assemblee/role-et-pouvoirs-de-l-assemblee-nationale/les-fonctions-de-l-assemblee-nationale/les-fonctions-legislatives/les-votes-a-l-assemblee-nationale | sièges occupés dans l'hémicycle}.
*/
nombreVotants: string;
/**
* Nombre de suffrages exprimés.
*/
suffragesExprimes: string;
/**
* Nombre de suffrages requis, le {@link http://www2.assemblee-nationale.fr/decouvrir-l-assemblee/role-et-pouvoirs-de-l-assemblee-nationale/les-fonctions-de-l-assemblee-nationale/les-fonctions-legislatives/les-votes-a-l-assemblee-nationale | cas échéant}.
*/
nbrSuffragesRequis: string;
annonce: LibelleSortScrutin;
decompte: DecompteVoix;
}
/**
* Type de vote: MOC pour motion de censure, SAT pour scrutin à la tribune, SPO pour scrutin public ordinaire, SPS pour scrutin public solennel et SSG pour scrutin solennel congrès
*/
export interface TypeVote {
codeTypeVote: CodeTypeVote;
libelleTypeVote: LibelleTypeVote;
/**
* La signification de ce champ n'est pas définie.
*/
typeMajorite: TypeMajorite;
}
export declare enum CodeTypeVote {
Moc = "MOC",
Sat = "SAT",
Spo = "SPO",
Sps = "SPS",
Ssg = "SSG"
}
export declare enum LibelleTypeVote {
MotionDeCensure = "motion de censure",
ScrutinPublicOrdinaire = "scrutin public ordinaire",
ScrutinPublicSolennel = "scrutin public solennel",
ScrutinÀLaTribune = "scrutin \u00E0 la tribune",
ScrutinSolennelCongrès = "Scrutin solennel congr\u00E8s"
}
/**
* La signification de ce champ n'est pas définie.
*/
export declare enum TypeMajorite {
MajoritéAbsolueDesSuffragesExprimés = "Majorit\u00E9 absolue des suffrages exprim\u00E9s",
majoritéAbsolueDesSuffragesExprimés = "majorit\u00E9 absolue des suffrages exprim\u00E9s",
majoritéDesMembresComposantLAssembléeNationale = "majorit\u00E9 des membres composant l'Assembl\u00E9e nationale",
majoritéDesMembresComposantsComposantLAssemblée = "majorit\u00E9 des membres composants composant l'Assembl\u00E9e",
majoritéDesMembresComposantsComposantLAssembléeNationale = "majorit\u00E9 des membres composants composant l'Assembl\u00E9e nationale",
MajoritéRequisePourUnCongrès = "Majorit\u00E9 requise pour un Congr\u00E8s",
MajoritéRequisePourUneMotionDeCensure = "Majorit\u00E9 requise pour une motion de censure"
}
export interface VentilationVotes {
organeRef: string;
groupes: VentilationVotesGroupe[];
}
export interface VentilationVotesGroupe {
organeRef: string;
nombreMembresGroupe: string;
vote: Vote;
}
export interface Vote {
positionMajoritaire: PositionMajoritaire;
decompteVoix: DecompteVoix;
decompteNominatif: DecompteNominatif;
}
export interface DecompteNominatif {
nonVotants?: Votant[];
pour?: Votant[];
contre?: Votant[];
abstentions?: Votant[];
}
export interface Votant {
acteurRef: string;
mandatRef: string;
parDelegation?: boolean;
numPlace?: number;
causePositionVote?: CausePositionVote;
}
export declare enum CausePositionVote {
Mg = "MG",
Pan = "PAN",
Pse = "PSE"
}
/**
* Decompte des voix
*/
export interface DecompteVoix {
/**
* Nombre total de votes contre.
*/
pour: string;
/**
* Nombre total de votes contre.
*/
contre: string;
/**
* Nombre total de non votants
*/
nonVotants?: string;
/**
* Nombre total d'abstentions.
*/
abstentions?: string;
/**
* Nombre total de non votants volontaires.
*/
nonVotantsVolontaires?: string;
}
export declare enum PositionMajoritaire {
Abstention = "abstention",
Contre = "contre",
Pour = "pour"
}
export declare enum LieuVote {
Congrès = "Congr\u00E8s",
Hémicycle = "H\u00E9micycle",
Salons = "Salons"
}
export declare class Convert {
static toScrutins(json: string): Scrutins;
static scrutinsToJson(value: Scrutins): string;
static toScrutin(json: string): Scrutin;
static scrutinToJson(value: Scrutin): string;
}