UNPKG

@tricoteuses/assemblee

Version:

Retrieve, clean up & handle French Assemblée nationale's open data

616 lines (615 loc) 22.8 kB
import { Acteur, Organe } from './acteurs_et_organes'; export interface Amendements { textesLegislatifs: TexteLegislatif[]; } export interface TexteLegislatif { refTexteLegislatif: string; amendements: Amendement[]; } /** * Amendement * * Un {@link https://fr.wikipedia.org/wiki/Amendement_(loi) | amendement} est une modification, soumise au vote d'une assemblée, en vue de corriger, compléter ou annuler tout ou une partie d'un projet ou d'une proposition de loi en cours de délibération ou d'une loi pré-existante. */ export interface Amendement { schemaVersion?: string; /** * Identifiant unique. */ uid: string; chronotag: string; legislature: string; identification: Identification; examenRef: string; texteLegislatifRef: string; /** * Lorsque tous les amendements visant un texte de loi sont triés sur cette clé, cela détermine leur ordre d'appel. */ triAmendement?: string; /** * Le contenu de ce champ n'est pas défini. */ cardinaliteAmdtMultiples?: string; /** * L'identifiant unique (uid) de l'amendement modifié par un {@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/l-exercice-du-droit-d-amendement-et-annexe | sous amendement}. Les amendements peuvent faire l’objet de sous-amendements qui doivent respecter les mêmes règles formelles que les amendements. */ amendementParentRef?: string; signataires: Signataires; pointeurFragmentTexte: PointeurFragmentTexte; corps?: CorpsAmendement; cycleDeVie: CycleDeVie; representation?: Representation; /** * Identifiant unique (uid) de la {@link Reunion | séance durant laquelle l'amendement a été discuté}. */ seanceDiscussionRef?: string; /** * Amendement déposé par le rapporteur d'une commission ou le gouvernement, après le délai imposé aux députés, en application de {@link http://www2.assemblee-nationale.fr/decouvrir-l-assemblee/textes-de-reference/reglement-de-l-assemblee-nationale/titre-ii/premiere-partie/chapitre-iv/article-99 | l'alinéa 2 de l'article 99 du règlement de l'assemblée nationale} */ article99: string; /** * La signification de ce champ est indéfinie. */ loiReference?: LoiReference; discussionCommune?: Discussion; discussionIdentique?: Discussion; accordGouvernementDepotHorsDelai: AccordGouvernementDepotHorsDelai; } export declare enum AccordGouvernementDepotHorsDelai { Accord = "Accord", SansObjet = "Sans objet" } export interface CorpsAmendement { /** * La signification de ce champ est indéfinie. */ cartoucheInformatif?: string; contenuAuteur?: ContenuAuteur; } export interface ContenuAuteur { /** * Description exhaustive des modifications apportées au texte original, au format HTML. */ dispositif?: string; avantAppel?: AvantAppel; /** * Exposé sommaire des motifs justifiant l'amendement, au format HTML. */ exposeSommaire?: string; dispositifAmdtCreditPLF?: DispositifAmdtCreditPLF; dispositifAmdtCreditPLFR?: DispositifAmdtCreditPLFR; } export interface AvantAppel { /** * Contenu originel du champ **dispositif** dans le cas ou un amendement est modifiée avant qu'il soit {@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/l-exercice-du-droit-d-amendement-et-annexe#eztoc43696_0_0_2 | appelé}. */ dispositif?: string; dispositifAmdtCreditPLF?: DispositifAmdtCreditPLF; dispositifAmdtCreditPLFR?: DispositifAmdtCreditPLFR; } /** * Modification des programmes d'une mission. * * Permet de modifier les {@link https://fr.wikipedia.org/wiki/Autorisation_d%27engagement | d'autorisations d'engagement} et les {@link https://fr.wikipedia.org/wiki/Cr%C3%A9dit_de_paiement | crédits de paiement} associés à une {@link https://www.performance-publique.budget.gouv.fr/ressources-documentaires/documentation-budgetaire/chiffres-cles-budget-etat | mission} dans un projet de loi de finance. */ export interface DispositifAmdtCreditPLF { /** * Liste des programmes composant la mission et des modifications à y apporter. * Tous les programmes de la mission sont inclus, même s'ils ne sont pas modifiés * (auquel cas les montants des champs **AE** et **CP** sont zero). */ listeProgrammes?: ProgrammePlf[]; soldeAE?: string; soldeCP?: string; cpEgalAe: string; } export interface ProgrammePlf { /** * Libellé du programme qui doit être modifié par l'**action**. */ libelle: string; /** * La signification de ce champ n'est pas définie. */ programmeRef: string; /** * Modification de {@link https://fr.wikipedia.org/wiki/Autorisation_d%27engagement | l'autorisation d'engagement}. */ autorisationEngagement: string; /** * Modification du {@link https://fr.wikipedia.org/wiki/Cr%C3%A9dit_de_paiement | crédit de paiement}. */ creditPaiement: string; /** * 'creation' s'il s'agit d'un nouveau programme, * 'suppression' si le programme doit être supprimé, * 'modification' si les montants du programme doivent être modifiés. */ action: Action; /** * Liste des lignes de crédit appartenant au programme, le cas échéant. */ lignesCredits?: LigneCreditPLF[]; } /** * 'creation' s'il s'agit d'un nouveau programme, * 'suppression' si le programme doit être supprimé, * 'modification' si les montants du programme doivent être modifiés. */ export declare enum Action { Création = "cr\u00E9ation", Modification = "modification", Suppression = "suppression" } export interface LigneCreditPLF { /** * La signification de ce champ n'est pas définie. */ id: string; /** * Libellé de la ligne de crédit dont le montant doit être modifié. */ libelle: string; /** * Modification de {@link https://fr.wikipedia.org/wiki/Autorisation_d%27engagement | l'autorisation d'engagement} de la ligne de crédit. */ autorisationEngagement: string; /** * Modification du {@link https://fr.wikipedia.org/wiki/Cr%C3%A9dit_de_paiement | crédit de paiement} de la ligne de crédit. */ creditPaiement: string; action: Action; } export interface DispositifAmdtCreditPLFR { listeProgrammes?: LigneCreditPLFR[]; totalAE?: Total; totalCP?: Total; cpEgalAe: string; } export interface LigneCreditPLFR { libelle: string; programmeRef?: string; autorisationEngagementSupplementaire: string; creditPaiementSupplementaire: string; autorisationEngagementAnnule: string; creditPaiementAnnule: string; action: Action; lignesCredits?: LigneCreditPLFR[]; id?: string; } /** * Total */ export interface Total { /** * Montant à ajouter. Nombre positif. */ supplementaire: string; /** * Montant à soustraire. Nombre positif. */ annule: string; /** * Résultat de la soustraction **montantPositif** - **montantNegatif**. */ solde: string; } export interface CycleDeVie { /** * Date de dépôt. */ dateDepot?: Date; /** * Date à laquelle l'amendement est disponible sous forme papier. */ datePublication?: Date; soumisArticle40: string; /** * Étape du {@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/l-exercice-du-droit-d-amendement-et-annexe | cycle de vie de l'amendement}. */ etatDesTraitements: EtatDesTraitements; /** * Date à laquelle le sort de l'amendement a été saisi. */ dateSort?: Date; /** * 'Adopté' si l'amendement est adopté, 'Non soutenu' si l'amendement n'a pas été soutenu par son auteur lorsqu'il a été appelé, 'Rejeté' si le vote a rejeté l'amendement, 'Retiré' si l'amendement a été retiré après avoir été déposé et avant d'avoir été appelé, 'Tombé' lorsque l'amendement est {@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/l-exercice-du-droit-d-amendement-et-annexe | rendu sans objet} en raison du vote d'un amendement appelé avant lui. */ sort?: SortAmendement; } export interface EtatDesTraitements { etat: EtatAmendement; sousEtat?: SousEtatAmendement; } export interface EtatAmendement { code: EtatAmendementCode; libelle: EtatAmendementLibelle; } export declare enum EtatAmendementCode { AC = "AC", At = "AT", Di = "DI", Effacé = "effac\u00E9", Er = "ER", Et = "ET", IR = "IR", Irr127 = "IRR127", Irr20 = "IRR20", Irr37 = "IRR37", Irr38 = "IRR38", Irr41 = "IRR41", Irr42 = "IRR42", Irr45 = "IRR45", Irr48 = "IRR48", Irr53 = "IRR53", Irrai = "IRRAI", Irraif = "IRRAIF", Irrd = "IRRD", Irrhc = "IRRHC",// Irrecevable, hors champ Irrhd = "IRRHD", Irrsa = "IRRSA", R = "R", Rt = "RT", T = "T" } /** * Étape du {@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/l-exercice-du-droit-d-amendement-et-annexe | cycle de vie de l'amendement}. */ export declare enum EtatAmendementLibelle { ADiscuter = "A discuter", ADéposer = "A d\u00E9poser", Discuté = "Discut\u00E9", Effacé = "effac\u00E9", EnRecevabilité = "En recevabilit\u00E9", EnTraitement = "En traitement", Irrecevable = "Irrecevable", Irrecevable40 = "Irrecevable 40", Retiré = "Retir\u00E9" } export interface SousEtatAmendement { code: EtatAmendementCode; libelle: SortAmendement; } /** * 'Adopté' si l'amendement est adopté, 'Non soutenu' si l'amendement n'a pas été soutenu par son auteur lorsqu'il a été appelé, 'Rejeté' si le vote a rejeté l'amendement, 'Retiré' si l'amendement a été retiré après avoir été déposé et avant d'avoir été appelé, 'Tombé' lorsque l'amendement est {@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/l-exercice-du-droit-d-amendement-et-annexe | rendu sans objet} en raison du vote d'un amendement appelé avant lui. */ export declare enum SortAmendement { Adopté = "Adopt\u00E9", AutreIrrecevabilité = "Autre irrecevabilit\u00E9", AutreIrrecevabilité40 = "Autre irrecevabilit\u00E9 40", AutresIrrLOLF = "Autres irr LOLF", AutresIrrLOLFSS = "Autres irr LOLFSS", Cavalier45 = "Cavalier (45)", CavalierBudgétaire = "Cavalier budg\u00E9taire", CavalierSocial = "Cavalier social", ChampDeLHabilitation38 = "Champ de l'habilitation (38)", Charge = "Charge", Cmp45 = "CMP (45)", Crédits = "Cr\u00E9dits", DispositionRéglementaire37 = "Disposition r\u00E9glementaire (37)", DomaineDeLaLoi41 = "Domaine de la loi (41)", DomaineLoiOrganique127 = "Domaine loi organique (127)", Doublon = "Doublon", Entonnoir45 = "Entonnoir (45)", Gage = "Gage", HorsChamp = "Hors champ", HorsDélais = "Hors-d\u00E9lais", Injonction20 = "Injonction (20)", IrrEnPremièrePartie = "Irr en premi\u00E8re partie", IrrEnSecondePartie = "Irr en seconde partie", Lolf = "LOLF", Lolfss = "LOLFSS", NonSoutenu = "Non soutenu", OrdreDuJour48 = "Ordre du jour (48)", R = "R", RatificationTraité53 = "Ratification trait\u00E9 (53)", Rejeté = "Rejet\u00E9", Retiré = "Retir\u00E9", RetiréAprèsPublication = "Retir\u00E9 apr\u00E8s publication", RetiréAvantPublication = "Retir\u00E9 avant publication", SatisfaitOuInopérant42 = "Satisfait ou inop\u00E9rant (42)", SousAmendement98 = "Sous-amendement (98)", Tombé = "Tomb\u00E9" } export interface Discussion { idDiscussion?: string; typePosition?: TypePosition; } export declare enum TypePosition { Dernier = "Dernier", Milieu = "Milieu", Premier = "Premier" } /** * Meta données à propos de l'amendement * * Permet d'identifier l'amendement et le texte législatif auquel il se rapporte. */ export interface Identification { /** * Libelle désignant l'amendement et incluant son numéro (correspondant au champ **numero**), une indication du nombre de rectifications qui lui ont été apportés (correspondant au champ **identifiant.numRect** et {@link https://forum.en-root.org/t/signification-du-champ-numerolong-dans-un-amendement/163 | d'autres informations} dérivées du champ **identifiant**. */ numeroLong: string; /** * Numéro de dépôt attribué selon l’ordre d’arrivée des amendements. Il est unique pour un texte donné et il ne change pas lorsque l'amendement est {@link http://www.senat.fr/fileadmin/Fichiers/Images/seance/Guide_amendements_MAJ_Mars__2016.pdf | rectifié}. */ numeroOrdreDepot: string; /** * L'identifiant unique de {@link Organe | l'organe} auprès duquel l'amendement est déposé * (i.e. l'assemblée ou une commission). */ prefixeOrganeExamen: string; /** * Reflète le nombre de {@link http://www.senat.fr/fileadmin/Fichiers/Images/seance/Guide_amendements_MAJ_Mars__2016.pdf | rectifications} apportées à l'amendement. 0: aucune rectification, 1: une rectification, 50: deux rectifications, 51: trois rectifications, 52: quatre rectifications. */ numeroRect: string; } export interface LoiReference { codeLoi?: string; divisionCodeLoi?: string; } /** * Pointeur vers le fragment de texte que vise l'amendement. */ export interface PointeurFragmentTexte { /** * Partie du texte visé par l'amendement, éventuellement précisé par l'alinéa (voir le champ alinea). */ division?: PointeurFragmentTexteDivision; /** * L'alinéa sur lequel porte la modification, à l'intérieur d'une division du texte (voir le champ division). */ alinea?: Alinea; /** * {@link https://www.performance-publique.budget.gouv.fr/ressources-documentaires/documentation-budgetaire/chiffres-cles-budget-etat | Mission} du projet de loi de finance visé par l'amendement. */ missionVisee?: MissionVisee; } export interface Alinea { /** * Avant: un ajout avant l'alinéa **numero**, * Après: un ajout avant après l'alinéa **numero**, * A: une modification ou suppression de l'alinéa **numero** et suivants le cas échéant */ avantAApres?: AvantAApres; /** * Numéro de l'alinéa. Pour le calcul des alinéas au sein d'un amendement sous-amendé, * le {@link https://fr.wikipedia.org/wiki/Chapeau_(presse) | chapeau} de l’amendement est décomptée comme un alinéa. */ numero?: string; /** * Texte complémentaire qui est ajouté au {@link https://fr.wikipedia.org/wiki/Chapeau_(presse) | chapeau} * de l'amendement (qui se trouve dans le champ divisionRattachee) et qui précise éventuellement l'emplacement * de l'alinéa visé par l'amendement. */ alineaDesignation?: string; } /** * Avant: un ajout avant la division visée par l'amendement, * Après: un ajout avant après la division visée par l'amendement, * A: une modification ou suppression la division visée par l'amendement. */ export declare enum AvantAApres { A = "A", Apres = "Apres", Avant = "Avant" } export interface PointeurFragmentTexteDivision { /** * Libellé de la division qui est visé par l'amendement (voir aussi le champ type). */ titre?: string; /** * Version courte du {@link https://fr.wikipedia.org/wiki/Chapeau_(presse) | chapeau} de l'amendement, c'est dire le contenu du champ divisionRattachee. */ articleDesignationCourte?: string; articleDesignation?: string; /** * PointeurFragmentTexteDivision du texte visée par l'amendement. */ type: DivisionType; /** * Avant: un ajout avant la division visée par l'amendement, * Après: un ajout avant après la division visée par l'amendement, * A: une modification ou suppression la division visée par l'amendement. */ avantAApres: AvantAApres; /** * {@link https://fr.wikipedia.org/wiki/Chapeau_(presse) | Chapeau} de l'amendement, décrivant précisément l'emplacement du texte modifié par l'amendement et l'action (modifier, supprimer, insérer). */ divisionRattachee?: string; /** * Égal à 1 si l'amendement rajoute un article. */ articleAdditionnel: string; /** * Égal à 1 si l'amendement rajoute un chapitre. */ chapitreAdditionnel: string; /** * URL du texte sur http://www.assemblee-nationale.fr, y compris le fragment qui désigne la division visée par l'amendement, tel que décrite dans le champ divisionRattachee. */ urlDivisionTexteVise?: string; } /** * Division du texte visée par l'amendement. */ export declare enum DivisionType { Annexe = "ANNEXE", Article = "ARTICLE", Chapitre = "CHAPITRE", Titre = "TITRE" } export interface MissionVisee { /** * Code de l'état du projet de loi de finance sur lequel l'amendement a un impact indirect. Par exemple {@link http://www.assemblee-nationale.fr/15/textes/1490.asp#D_Etat_B | l'état B du PLF 2019}. Correspond exactement au champ libelleMissionPLF. */ codeEtat: CodeEtat; /** * La signification de ce champ n'est pas définie */ codeMissionMinefi: string; /** * Libellé de la mission, à l'intérieur de l'état désigné par codeMissionPLF, * sur laquelle l'amendement a un impact indirect. */ libelleMission: string; /** * Libellé de l'état du projet de loi de finance sur lequel l'amendement a un impact indirect. Par exemple la {@link http://www.assemblee-nationale.fr/15/textes/1490.asp#D_Etat_B | RÉPARTITION, PAR MISSION ET PROGRAMME, DES CRÉDITS DU BUDGET GÉNÉRAL du PLF 2019}. Correspond exactement au champ codeMissionPLF. */ missionRef: string; } /** * Code de l'état du projet de loi de finance sur lequel l'amendement a un impact indirect. Par exemple `l'état B du PLF 2019 <http://www.assemblee-nationale.fr/15/textes/1490.asp#D_Etat_B>`__. Correspond exactement au champ libelleMissionPLF. */ export declare enum CodeEtat { B = "B", C = "C", D = "D" } /** * URL du texte de l'amendement, au format PDF. * * Seul le champ contenu.documentURI est défini. */ export interface Representation { /** * Format du document. */ nom: TypeMimeNom; /** * Type MIME du document. */ typeMime: TypeMime; /** * La signification de ces champs est indéfinie. */ statutRepresentation: StatutRepresentation; contenu: ContenuAmendement; } export interface ContenuAmendement { /** * Chemin de l'amendement qui permet de composer son URL sur ce modèle: http://www.assemblee-nationale.fr/__documentURI__. */ documentURI: string; } /** * Format du document. */ export declare enum TypeMimeNom { Pdf = "PDF" } /** * La signification de ces champs est indéfinie. */ export interface StatutRepresentation { /** * La signification de ce champ est indéfinie. */ verbatim: boolean; /** * La signification de ce champ est indéfinie. */ canonique: boolean; /** * La signification de ce champ est indéfinie. */ officielle: boolean; /** * La signification de ce champ est indéfinie. */ transcription: boolean; /** * La signification de ce champ est indéfinie. */ enregistrement: boolean; } /** * Type MIME du document. */ export interface TypeMime { /** * Type MIME principal, par exemple 'application'. */ type: TypeMimeType; /** * Sous-type MIME, par exemple 'pdf'. */ subType: TypeMimeNom; } /** * Type MIME principal, par exemple 'application'. */ export declare enum TypeMimeType { Application = "application" } /** * Auteur et co-signataires de l'amendement. */ export interface Signataires { /** * Auteur de l'amendement ainsi que son mandat et son affiliation. */ auteur: AuteurAmendement; /** * Liste des identifiants uniques (uid) des {@link Acteur | acteurs} ayant cosigné l'amendement. */ cosignatairesRefs?: string[]; cosignataires?: Acteur[]; suffixe?: string; /** * Les noms de l'auteur et des co-signataires de l'amendement. */ libelle?: string; } /** * Auteur de l'amendement ainsi que son mandat et son affiliation. */ export interface AuteurAmendement { /** * 'Depute' si l'auteur dépose l'amendement en sa qualité de député, * 'Gouvernement' s'il le fait au nom du gouvernement, * 'Rapporteur' s'il est le rapporteur de la commission désignée par **organeRef**. */ typeAuteur: TypeAuteur; gouvernementRef?: string; gouvernement?: Organe; /** * Identifiant unique (uid) de {@link Acteur | l'auteur de l'amendement}. */ acteurRef?: string; acteur?: Acteur; /** * Identifiant unique (uid) du {@link Organe | groupe politique} auquel est affilié l'auteur. */ groupePolitiqueRef?: string; groupePolitique?: Organe; /** * Identifiant unique (uid) de {@link Organe | la commission} dont l'auteur est le rapporteur. */ auteurRapporteurOrganeRef?: string; auteurRapporteurOrgane?: Organe; } /** * 'Depute' si l'auteur dépose l'amendement en sa qualité de député, * 'Gouvernement' s'il le fait au nom du gouvernement, * 'Rapporteur' s'il est le rapporteur de la commission désignée par **organeRef**. */ export declare enum TypeAuteur { Député = "D\u00E9put\u00E9", Gouvernement = "Gouvernement", Rapporteur = "Rapporteur" } /** * Converts JSON strings to/from your types * and asserts the results of JSON.parse at runtime * @ignore */ export declare class Convert { static toAmendement(json: string): Amendement; static amendementToJson(value: Amendement): string; static toAmendements(json: string): Amendements; static amendementsToJson(value: Amendements): string; static toTexteLegislatif(json: string): TexteLegislatif; static texteLegislatifToJson(value: TexteLegislatif): string; }