UNPKG

@tricoteuses/assemblee

Version:

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

434 lines (433 loc) 16.8 kB
import { Acteur, Organe, Civ } from './acteurs_et_organes'; export interface Agendas { reunions: Reunion[]; } /** * Agenda * * Toutes les réunions de commissions, les séances publiques, les groupes d'amitiés {@link CodeTypeOrgane | etc}. Réunion qui a lieu dans une salle réservée dans le système informatique de l’assemblée nationale, y compris les séances publiques qui ont lieu dans l'hémicycle. Cela peut aussi être une réunion dite internationale qui a lieu hors de l'assemblée. */ export interface Reunion { /** * Le contenu de ce champ n'est pas défini. */ schemaVersion?: string; xsiType?: ReunionXsiType; /** * Identifiant unique. */ uid: string; /** * Date et heure du début de la réunion. */ timestampDebut: Date; /** * Date et heure de la fin de la réunion. */ timestampFin?: Date; /** * Lieu de la réunion. */ lieu?: LieuReunion; /** * Cycle de vie de la réunion. */ cycleDeVie: CycleDeVieReunion; /** * Le cas échéant l'{@link Organe | organe} et/ou les {@link Acteur | acteurs} à l'initiative de la réunion. */ demandeurs?: Demandeurs; /** * Le cas échéant, l’organe qui se réunit. Ce n’est pas nécessairement identique au demandeur. Par exemple le président de l’assemblée nationale convoque la conférence des présidents. */ organeReuniRef?: string; organeReuni?: Organe; /** * Le contenu de ce champ n'est pas défini. */ typeReunion?: TypeReunion; participants?: Participants; sessionRef?: string; /** * 'true' si la réunion est accessible à la presse, 'false' sinon */ ouverturePresse?: boolean; odj?: Odj; /** * Identifiant unique du {@link http://data.assemblee-nationale.fr/travaux-parlementaires/debats | compte rendu} d'une séance publique. Uniquement si xsiType égal à 'seance_type'. */ compteRenduRef?: string; /** * Identifiant de la séance publique. Uniquement si xsiType égal à 'seance_type'. */ identifiants?: Identifiants; /** * Le contenu de ce champ n'est pas défini. */ formatReunion?: FormatReunion; /** * Informations sur les personnes et pays concernées par une réunion de commission qui concerne l'international, le cas échéant. Uniquement si xsiType égal à 'reunionCommission_type'. */ infosReunionsInternationale?: InfosReunionsInternationale; /** * Vrai si la réunion est enregistrée en vidéo. */ captationVideo?: boolean; visioConference?: string; } export declare enum ReunionXsiType { ReunionCommissionType = "reunionCommission_type", ReunionInitParlementaireType = "reunionInitParlementaire_type", SeanceType = "seance_type" } export interface Odj { /** * Texte décrivant l'objet de la réunion. */ convocationOdj?: string[]; /** * Texte court décrivant l'objet de la réunion. */ resumeOdj?: string[]; /** * Liste des points inscrits à l'ordre du jour de la réunion */ pointsOdj?: PointOdj[]; } /** * Point de l'ordre du jour */ export interface PointOdj { /** * Pour les réunions dont xsiType est 'seance_type', c'est à dire une séance publique, chaque point de l'ordre du jour est fixé par la {@link https://fr.wikipedia.org/wiki/Conf%C3%A9rence_des_pr%C3%A9sidents_de_l%27Assembl%C3%A9e_nationale | conférence des présidents} et a donc la valeur 'podjSeanceConfPres_type' pour le champ xsiType. Dans tout les autres cas la valeur est 'podjReunion_type' */ xsiType: PointOdjXsiType; /** * Identifiant unique. */ uid: string; /** * Cycle de vie du point de l'ordre du jour. */ cycleDeVie: CycleDeVieReunion; /** * Description du point de l'ordre du jour en texte libre. */ objet: string; /** * L'article du {@link http://www2.assemblee-nationale.fr/content/download/73698/754101/version/2/file/reglement.pdf | règlement de l'assemblée nationale} qui justifie ce point de l'ordre du jour (par exemple: la {@link http://www2.assemblee-nationale.fr/decouvrir-l-assemblee/textes-de-reference/reglement-de-l-assemblee-nationale/titre-ii/premiere-partie/chapitre-v | procédure d'examen simplifiée}). */ procedure?: Procedure; /** * Pour les réunions dont xsiType est 'seance_type', c'est à dire une séance publique ou bien 'reunionCommission_type', c'est à dire une commission, liste des identifiants uniques (uid) des {@link DossierParlementaire | dossiers législatifs} dont il sera question. */ dossiersLegislatifsRefs?: string[]; /** * Type de point de l'ordre du jour (par exemple: Discussion, Examen, Suite de la discussion, Amendements (Art. 88), etc. */ typePointOdj: TypePointOdj; /** * Le contenu de ce champ n'est pas défini. */ comiteSecret: boolean; /** * Vaut ODJPR pour les ordre du jour prioritaires (quel que soit le lieu ou se tient la réunion) et ODJSN pour les ordre du jour des réunions qui se tiennent au Sénat. */ natureTravauxOdj?: NatureTravauxOdj; /** * Pour les réunions dont xsiType est 'seance_type', c'est à dire une séance publique, date à laquelle la {@link https://fr.wikipedia.org/wiki/Conf%C3%A9rence_des_pr%C3%A9sidents_de_l%27Assembl%C3%A9e_nationale | conférence des présidents} a ajouté ce point à l'ordre du jour. */ dateConfPres?: Date; /** * Pour les réunions dont xsiType est 'seance_type', c'est à dire une séance publique, date de la lettre du premier ministre qui demande l'inscription d'un texte à l'ordre du jour {@link http://www2.assemblee-nationale.fr/decouvrir-l-assemblee/role-et-pouvoirs-de-l-assemblee-nationale/l-organisation-des-travaux-de-l-assemblee-nationale/la-fixation-de-l-ordre-du-jour-et-la-conference-des-presidents | au nom du gouvernement}. */ dateLettreMinistre?: Date; } /** * Pour les réunions dont xsiType est 'seance_type', c'est à dire une séance publique, chaque point de l'ordre du jour est fixé par la {@link https://fr.wikipedia.org/wiki/Conf%C3%A9rence_des_pr%C3%A9sidents_de_l%27Assembl%C3%A9e_nationale | conférence des présidents} et a donc la valeur 'podjSeanceConfPres_type' pour le champ xsiType. Dans tout les autres cas la valeur est 'podjReunion_type' */ export declare enum PointOdjXsiType { PodjReunionType = "podjReunion_type", PodjSeanceConfPresType = "podjSeanceConfPres_type" } /** * Cycle de vie */ export interface CycleDeVieReunion { /** * La réunion ou le point de l'ordre du est valide si le champ contient la valeur 'Eventuel' ou 'Confirmé'. Si la valeur est 'Annulé' ou 'Supprimé', aucun des champs de la réunion ou de l'ordre du jour n'a de signification définie. Par exemple, si une réunion est 'Annulé' et que le champ concernant l'ordre du jour est présent, il doit être ignoré car son contenu n'est pas nécessairement cohérent. */ etat: EtatCycleDeVie; chrono: Chrono; } export interface Chrono { /** * Date de création. */ creation: Date; /** * Date de fin. */ cloture?: Date; } /** * La réunion ou le point de l'ordre du est valide si le champ contient la valeur 'Eventuel' ou 'Confirmé'. Si la valeur est 'Annulé' ou 'Supprimé', aucun des champs de la réunion ou de l'ordre du jour n'a de signification définie. Par exemple, si une réunion est 'Annulé' et que le champ concernant l'ordre du jour est présent, il doit être ignoré car son contenu n'est pas nécessairement cohérent. */ export declare enum EtatCycleDeVie { Annulé = "Annul\u00E9", Confirmé = "Confirm\u00E9", Eventuel = "Eventuel", Supprimé = "Supprim\u00E9" } /** * Vaut ODJPR pour les ordre du jour prioritaires (quel que soit le lieu ou se tient la réunion) et ODJSN pour les ordre du jour des réunions qui se tiennent au Sénat. */ export declare enum NatureTravauxOdj { Odjpr = "ODJPR", Odjsn = "ODJSN" } /** * L'article du {@link http://www2.assemblee-nationale.fr/content/download/73698/754101/version/2/file/reglement.pdf | règlement de l'assemblée nationale} qui justifie ce point de l'ordre du jour (par exemple: la {@link http://www2.assemblee-nationale.fr/decouvrir-l-assemblee/textes-de-reference/reglement-de-l-assemblee-nationale/titre-ii/premiere-partie/chapitre-v | procédure d'examen simplifiée}). */ export declare enum Procedure { DiscussionGénéraleCommune = "discussion g\u00E9n\u00E9rale commune", ProcédureDExamenSimplifiéeArticle103 = "proc\u00E9dure d'examen simplifi\u00E9e-Article 103", ProcédureDExamenSimplifiéeArticle106 = "proc\u00E9dure d'examen simplifi\u00E9e-Article 106", ProcédureDExamenSimplifiéeArticle107 = "proc\u00E9dure d'examen simplifi\u00E9e-Article 107", ProcédureDeLégislationEnCommissionArticle1071 = "proc\u00E9dure de l\u00E9gislation en commission-Article 107-1" } /** * Type de point de l'ordre du jour (par exemple: Discussion, Examen, Suite de la discussion, Amendements (Art. 88), etc. */ export declare enum TypePointOdj { AmendementsArt88 = "Amendements (Art. 88)", AmendementsArt91 = "Amendements (Art. 91)", Audition = "Audition", AuditionMinistre = "Audition ministre", AuditionMinistreOuverteÀLaPresse = "Audition ministre ouverte \u00E0 la presse", AuditionOuverteÀLaPresse = "Audition ouverte \u00E0 la presse", Communication = "Communication", ConstitutionDeMissionDInformation = "Constitution de mission d'information", Discussion = "Discussion", DébatDInitiativeParlementaire = "D\u00E9bat d'initiative parlementaire", DéclarationDuGouvernementSuivieDUnDébat = "D\u00E9claration du Gouvernement suivie d'un d\u00E9bat", EchangesDeVues = "Echanges de vues", Examen = "Examen", ExplicationsDeVoteDesGroupesEtVoteParScrutinPublic = "Explications de vote des groupes et vote par scrutin public", ExplicationsDeVoteEtVoteParScrutinPublic = "Explications de vote et vote par scrutin public", FixationDeLOrdreDuJour = "Fixation de l'ordre du jour", NominationBureau = "Nomination bureau", NominationCandidatsOrganismeExtraparlementaire = "Nomination candidats organisme extraparlementaire", NominationDUnMembreDUneMissionDInformation = "Nomination d'un membre d'une mission d'information", NominationRapporteur = "Nomination rapporteur", NominationRapporteurDApplication = "Nomination rapporteur d'application", NominationRapporteurDInformation = "Nomination rapporteur d'information", NominationRapporteurPourAvis = "Nomination rapporteur pour avis", OuvertureEtClôtureDeSession = "Ouverture et cl\u00F4ture de session", QuestionsAuGouvernement = "Questions au Gouvernement", QuestionsOralesSansDébat = "Questions orales sans d\u00E9bat", Rapport = "Rapport", RapportDInformation = "Rapport d'information", RapportPourAvis = "Rapport pour avis", SeancesReserveesGroupeOppositionOuMinoritaire = "S\u00E9ances r\u00E9serv\u00E9es \u00E0 un groupe de l'opposition ou minoritaire", SuiteDeLaDiscussion = "Suite de la discussion", TableRonde = "Table ronde", VoteParScrutinPublic = "Vote par scrutin public", VoteSolennel = "Vote solennel" } /** * Le cas échéant l'{@link Organe | organe} et/ou les {@link Acteur | acteurs} à l'initiative de la réunion. */ export interface Demandeurs { /** * Liste des {@link Acteur | personnes} à l'initiative de la réunion. */ acteurs?: DemandeurActeur[]; organe?: DemandeurOrgane; } export interface DemandeurActeur { /** * Civilité Prénom Nom {@link Acteur | de l'acteur}. */ nom?: string; /** * Identifiant unique {@link Acteur | de l'acteur}. */ acteurRef: string; acteur?: Acteur; } export interface DemandeurOrgane { /** * Nom de l'{@link Organe | organe} */ nom: string; /** * Identifiant unique de l'{@link Organe | organe} */ organeRef: string; organe?: Organe; } /** * Le contenu de ce champ n'est pas défini. */ export declare enum FormatReunion { AuditionExterne = "AuditionExterne", AuditionParPresidentCommission = "AuditionParPresidentCommission", AuditionParRapporteur = "AuditionParRapporteur", Ordinaire = "Ordinaire" } /** * Identifiant de la séance publique. Uniquement si xsiType égal à 'seance_type'. */ export interface Identifiants { /** * Numérotation de la séance selon l'ordre du journal officiel. */ numSeanceJo?: string; /** * Identifiant du journal officiel composé de l'année sur quatre chiffres et du numéro de séance (**numSeanceJo**) sur quatre chiffres (exemple: 20190053). */ idJo?: string; /** * Numéro de la séance dans la journée. */ quantieme: Quantieme; /** * Date à laquelle la séance publique a lieu. */ dateSeance: Date; } /** * Numéro de la séance dans la journée. */ export declare enum Quantieme { Deuxième = "Deuxi\u00E8me", Première = "Premi\u00E8re", Troisième = "Troisi\u00E8me", Unique = "Unique" } /** * Informations sur les personnes et pays concernées par une réunion de commission qui concerne l'international, le cas échéant. Uniquement si xsiType égal à 'reunionCommission_type'. */ export interface InfosReunionsInternationale { /** * 'false' si la réunion ne concerne pas l'international, 'true' sinon. */ estReunionInternationale: boolean; /** * Le contenu de ce champ n'est pas défini. */ listePays?: string[]; /** * Contient parfois le nom de la personne qui organise la réunion. */ informationsComplementaires?: string; } /** * Lieu de la réunion. */ export interface LieuReunion { /** * Code du lieu de la réunion: S pour sénat, AN pour assemblée nationale, CG pour congrès, SALREU* pour les salles de réunion. */ code?: string; /** * Nom du lieu de la réunion. */ libelleCourt?: string; /** * Nom du lieu de la réunion et une indication sur son addresse. */ libelleLong?: string; lieuRef?: string; } export interface Participants { /** * Liste des personnes participant à la réunion. */ participantsInternes?: ParticipantInterne[]; /** * Liste des personnes auditionnées durant la réunion. */ personnesAuditionnees?: PersonneAuditionnee[]; } export interface ParticipantInterne { /** * Indentifiant unique (uid) de l'{@link Acteur | acteur} participant à la réunion. */ acteurRef: string; acteur?: Acteur; /** * La valeur est 'absent' ou 'excusé' si la personne n'a pas participé à la réunion, 'présent' sinon. */ presence: Presence; } /** * La valeur est 'absent' ou 'excusé' si la personne n'a pas participé à la réunion, 'présent' sinon. */ export declare enum Presence { Absent = "absent", Excusé = "excus\u00E9", Présent = "pr\u00E9sent" } export interface PersonneAuditionnee { /** * Type de personne auditionnée (acteur interne ou personne externe). */ xsiType: PersonneAuditionneeXsiType; /** * Identifiant unique de l'{@link Acteur | acteur} ou bien, dans le cas ou il ne s'agit pas d'un acteur, un identifiant unique de personne externe débutant par PE qui est utilisé uniquement dans ce contexte. */ uid: string; ident: IdentPersonneAuditionnee; /** * Date de naissance. */ dateNais?: Date; } export interface IdentPersonneAuditionnee { /** * Civilité. */ civ: Civ; /** * Prénom. */ prenom: string; /** * Nom de famille. */ nom: string; /** * Le contenu de ce champ n'est pas défini. */ alpha?: string; /** * Le contenu de ce champ n'est pas défini. */ trigramme?: string; } /** * Type de personne auditionnée (acteur interne ou personne externe). */ export declare enum PersonneAuditionneeXsiType { IdActeurType = "IdActeur_type", IdPersonneExterneType = "IdPersonneExterne_type" } /** * Le contenu de ce champ n'est pas défini. */ export declare enum TypeReunion { Dep = "DEP",// Député Ga = "GA",// Groupe d'amitié Ge = "GE",// Groupe d'étude Gevi = "GEVI",// Groupe d'étude à vocation internationale Gp = "GP",// Groupe parlementaire HéAurélien = "H\u00C9 Aur\u00E9lien" } export declare class Convert { static toAgendas(json: string): Agendas; static agendasToJson(value: Agendas): string; static toReunion(json: string): Reunion; static reunionToJson(value: Reunion): string; }