Example #1
0
def formulaire_noticesaut2arkBnF(master,
                                 access_to_network=True,
                                 last_version=[0, False]):
    couleur_fond = "white"
    couleur_bouton = "#515151"

    [
        form, zone_alert_explications, zone_access2programs, zone_actions,
        zone_ok_help_cancel, zone_notes
    ] = main.form_generic_frames(
        master, "Aligner ses données d'autorité avec les notices BnF",
        couleur_fond, couleur_bouton, access_to_network)

    zone_ok_help_cancel.config(padx=10)

    frame_input = tk.Frame(zone_actions,
                           bg=couleur_fond,
                           padx=10,
                           pady=10,
                           highlightthickness=2,
                           highlightbackground=couleur_bouton)
    frame_input.pack(side="left", anchor="w", padx=10, pady=10)
    frame_input_header = tk.Frame(frame_input, bg=couleur_fond)
    frame_input_header.pack(anchor="w")
    frame_input_file = tk.Frame(frame_input, bg=couleur_fond)
    frame_input_file.pack()
    frame_input_aut = tk.Frame(
        frame_input,
        bg=couleur_fond,
    )
    frame_input_aut.pack(anchor="w")

    frame_output = tk.Frame(zone_actions,
                            bg=couleur_fond,
                            padx=10,
                            pady=10,
                            highlightthickness=2,
                            highlightbackground=couleur_bouton)
    frame_output.pack(side="left", anchor="w")
    frame_output_header = tk.Frame(frame_output, bg=couleur_fond)
    frame_output_header.pack(anchor="w")
    frame_output_file = tk.Frame(frame_output,
                                 bg=couleur_fond,
                                 padx=10,
                                 pady=10)
    frame_output_file.pack(anchor="w")
    frame_output_options = tk.Frame(frame_output,
                                    bg=couleur_fond,
                                    padx=10,
                                    pady=10)
    frame_output_options.pack(anchor="w")
    frame_output_options_marc = tk.Frame(frame_output_options, bg=couleur_fond)
    frame_output_options_marc.pack(side="left", anchor="nw")
    frame_output_options_inter = tk.Frame(frame_output_options,
                                          bg=couleur_fond)
    frame_output_options_inter.pack(side="left")
    frame_output_options_format = tk.Frame(frame_output_options,
                                           bg=couleur_fond)
    frame_output_options_format.pack(side="left", anchor="nw")

    zone_notes_message_en_cours = tk.Frame(zone_notes,
                                           padx=20,
                                           bg=couleur_fond)
    zone_notes_message_en_cours.pack()

    tk.Label(frame_input_header,
             text="En entrée",
             font="bold",
             fg=couleur_bouton,
             bg=couleur_fond).pack()

    tk.Label(frame_input_file,
             text="Fichier contenant \nles notices d'autorité à aligner\n\n",
             bg=couleur_fond,
             justify="left").pack(side="left", anchor="w")
    """entry_filename = tk.Entry(frame_input_file, width=20, bd=2, bg=couleur_fond)
    entry_filename.pack(side="left")
    entry_filename.focus_set()"""
    main.download_zone(
        frame_input_file,
        "Sélectionner un fichier\nSéparateur TAB, Encodage UTF-8",
        entry_file_list, couleur_fond, zone_notes_message_en_cours)

    #Fichier avec en-têtes ?
    headers = tk.IntVar()
    tk.Checkbutton(frame_input_aut,
                   text="Mon fichier a des en-têtes de colonne",
                   variable=headers,
                   bg=couleur_fond,
                   justify="left").pack(anchor="w")
    headers.set(1)

    tk.Label(frame_input_aut,
             bg=couleur_fond,
             text="\nType de données en entrée",
             font="Arial 10 bold",
             anchor="w").pack(anchor="w")
    input_data_type = tk.IntVar()
    bib2ark.radioButton_lienExample(
        frame_input_aut, input_data_type, 1, couleur_fond,
        "Liste de notices d'autorité",
        "(" + " | ".join(header_columns_init_aut2aut) + ")",
        "https://raw.githubusercontent.com/Transition-bibliographique/alignements-donnees-bnf/master/examples/aut_align_aut.tsv"
    )
    bib2ark.radioButton_lienExample(
        frame_input_aut, input_data_type, 2, couleur_fond,
        "Liste de notices bibliographiques",
        "(" + " | ".join(header_columns_init_bib2aut) + ")",
        "https://raw.githubusercontent.com/Transition-bibliographique/alignements-donnees-bnf/master/examples/aut_align_bib.tsv"
    )

    input_data_type.set(1)

    #Option Relance sur isni ?
    isni_option = tk.IntVar()
    tk.Checkbutton(frame_input_aut,
                   text="Relancer sur isni.org en cas d'absence de réponse",
                   variable=isni_option,
                   bg=couleur_fond,
                   justify="left").pack(anchor="w")
    isni_option.set(1)

    #tk.Label(frame_input_aut,bg=couleur_fond, text="\n").pack()

    tk.Label(frame_output_header,
             text="En sortie",
             font="bold",
             fg=couleur_bouton,
             bg=couleur_fond).pack()

    file_nb = tk.IntVar()
    tk.Radiobutton(frame_output_file,
                   bg=couleur_fond,
                   text="1 fichier",
                   variable=file_nb,
                   value=1,
                   justify="left").pack(anchor="w")
    tk.Radiobutton(
        frame_output_file,
        bg=couleur_fond,
        text="Plusieurs fichiers \n(Pb / 0 / 1 / plusieurs ARK trouvés)",
        variable=file_nb,
        value=2,
        justify="left").pack(anchor="w")
    file_nb.set(1)

    tk.Label(frame_output_file, bg=couleur_fond, text="\n").pack()

    #Récupérer les métadonnées BnF au passage ?
    meta_bnf = tk.IntVar()
    tk.Checkbutton(frame_output_file,
                   text="Récupérer les métadonnées BnF",
                   variable=meta_bnf,
                   bg=couleur_fond,
                   justify="left").pack(anchor="w")
    tk.Label(frame_output_file, text="\n", bg=couleur_fond,
             justify="left").pack(anchor="w")
    tk.Label(frame_output_file,
             text="Préfixe des fichiers en sortie",
             bg=couleur_fond).pack(anchor="w")
    outputID = tk.Entry(frame_output_file, bg=couleur_fond, width=30)
    outputID.pack(anchor="w")

    tk.Label(frame_output_file, text="\n", bg=couleur_fond).pack(anchor="w")

    #file_format.focus_set()
    b = tk.Button(zone_ok_help_cancel,
                  text="Aligner\nles autorités",
                  command=lambda: launch(form, entry_file_list[0], headers.get(
                  ), input_data_type.get(), isni_option.get(), file_nb.get(),
                                         outputID.get(), meta_bnf.get()),
                  width=15,
                  borderwidth=1,
                  pady=40,
                  fg="white",
                  bg=couleur_bouton,
                  font="Arial 10 bold")
    b.pack()

    main.form_saut_de_ligne(zone_ok_help_cancel, couleur_fond)
    call4help = tk.Button(zone_ok_help_cancel,
                          text=main.texte_bouton_help,
                          command=lambda: main.click2url(main.url_online_help),
                          pady=5,
                          padx=5,
                          width=12)
    call4help.pack()
    tk.Label(zone_ok_help_cancel,
             text="\n",
             bg=couleur_fond,
             font="Arial 1 normal").pack()

    forum_button = tk.Button(
        zone_ok_help_cancel,
        text=main.texte_bouton_forum,
        command=lambda: main.click2url(main.url_forum_aide),
        pady=5,
        padx=5,
        width=12)
    forum_button.pack()

    tk.Label(zone_ok_help_cancel,
             text="\n",
             bg=couleur_fond,
             font="Arial 4 normal").pack()
    cancel = tk.Button(zone_ok_help_cancel,
                       text="Annuler",
                       bg=couleur_fond,
                       command=lambda: main.annuler(form),
                       pady=10,
                       padx=5,
                       width=12)
    cancel.pack()

    tk.Label(zone_notes,
             text="Bibliostratus - Version " + str(main.version) + " - " +
             main.lastupdate,
             bg=couleur_fond).pack()
    """if (main.last_version[1] == True):
        download_update = tk.Button(zone_notes, text = "Télécharger la version " + str(main.last_version[0]), command=download_last_update)
        download_update.pack()"""

    tk.mainloop()
Example #2
0
def formulaire_marc2tables(master,
                           access_to_network=True,
                           last_version=[version, False]):
    # =============================================================================
    # Structure du formulaire - Cadres
    # =============================================================================
    couleur_fond = "white"
    couleur_bouton = "#2D4991"
    #couleur_bouton = "#99182D"

    [
        form, zone_alert_explications, zone_access2programs, zone_actions,
        zone_ok_help_cancel, zone_notes
    ] = main.form_generic_frames(
        master, "Conversion de fichiers de notices Unimarc en tableaux",
        couleur_fond, couleur_bouton, access_to_network)

    cadre_input = tk.Frame(zone_actions,
                           highlightthickness=2,
                           highlightbackground=couleur_bouton,
                           relief="groove",
                           height=150,
                           padx=10,
                           bg=couleur_fond)
    cadre_input.pack(side="left", anchor="w")
    cadre_input_header = tk.Frame(cadre_input, bg=couleur_fond)
    cadre_input_header.pack(anchor="w")
    cadre_input_file = tk.Frame(cadre_input, bg=couleur_fond)
    cadre_input_file.pack(anchor="w")
    cadre_input_file_name = tk.Frame(cadre_input_file, bg=couleur_fond)
    cadre_input_file_name.pack(side="left")
    cadre_input_file_browse = tk.Frame(cadre_input_file, bg=couleur_fond)
    cadre_input_file_browse.pack(side="left")
    cadre_input_infos_format = tk.Frame(cadre_input, bg=couleur_fond)
    cadre_input_infos_format.pack(side="left")

    cadre_input_type_docs_interstice1 = tk.Frame(cadre_input, bg=couleur_fond)
    cadre_input_type_docs_interstice1.pack(side="left")

    cadre_input_type_docs = tk.Frame(cadre_input, bg=couleur_fond)
    cadre_input_type_docs.pack(side="left")
    cadre_input_type_docs_interstice2 = tk.Frame(cadre_input, bg=couleur_fond)
    cadre_input_type_docs_interstice2.pack(side="left")
    cadre_input_type_rec = tk.Frame(cadre_input, bg=couleur_fond)
    cadre_input_type_rec.pack(side="left")

    cadre_inter = tk.Frame(zone_actions,
                           borderwidth=0,
                           padx=10,
                           bg=couleur_fond)
    cadre_inter.pack(side="left")
    tk.Label(cadre_inter, text=" ", bg=couleur_fond).pack()

    #=============================================================================
    #     Formulaire - Fichier en entrée
    # =============================================================================

    cadre_output = tk.Frame(zone_actions,
                            highlightthickness=2,
                            highlightbackground=couleur_bouton,
                            relief="groove",
                            height=150,
                            padx=10,
                            bg=couleur_fond)
    cadre_output.pack(side="left")
    cadre_output_header = tk.Frame(cadre_output, bg=couleur_fond)
    cadre_output_header.pack(anchor="w")
    cadre_output_nom_fichiers = tk.Frame(cadre_output, bg=couleur_fond)
    cadre_output_nom_fichiers.pack(anchor="w")
    cadre_output_repertoire = tk.Frame(cadre_output, bg=couleur_fond)
    cadre_output_repertoire.pack(anchor="w")
    cadre_output_explications = tk.Frame(cadre_output,
                                         padx=20,
                                         bg=couleur_fond)
    cadre_output_explications.pack(anchor="w")

    cadre_output_message_en_cours = tk.Frame(cadre_output,
                                             padx=20,
                                             bg=couleur_fond)
    cadre_output_message_en_cours.pack(anchor="w")

    cadre_valider = tk.Frame(zone_ok_help_cancel,
                             borderwidth=0,
                             relief="groove",
                             height=150,
                             padx=10,
                             bg=couleur_fond)
    cadre_valider.pack(side="left")

    #définition input URL (u)
    tk.Label(cadre_input_header,
             bg=couleur_fond,
             fg=couleur_bouton,
             text="En entrée :",
             justify="left",
             font="bold").pack(anchor="w")

    tk.Label(cadre_input_file_name,
             bg=couleur_fond,
             text="Fichier contenant les notices : ").pack(side="left")
    """entry_filename = tk.Entry(cadre_input_file, width=40, bd=2)
    entry_filename.pack(side="left")
    entry_filename.focus_set()"""
    main.download_zone(cadre_input_file,
                       "Sélectionner un fichier\nde notices Unimarc",
                       entry_file_list, couleur_fond,
                       cadre_output_message_en_cours)

    #tk.Button(cadre_input_file_browse, text="Sélectionner le fichier\ncontenant les notices", command=lambda:main.openfile(cadre_input_file_name, popup_filename), width=20).pack()
    """tk.Label(cadre_input_infos_format,bg=couleur_fond, text="Format MARC", 
             anchor="w", justify="left").pack(anchor="w")
    marc_format = tk.IntVar()

    bib2ark.radioButton_lienExample(cadre_input_infos_format,marc_format,1,couleur_fond,
                            "Unimarc",
                            "",
                            "")

    tk.Radiobutton(cadre_input_infos_format,bg=couleur_fond, text="Marc21", variable=marc_format, value=2,
                   anchor="w", justify="left").pack(anchor="w")
    marc_format.set(1)"""

    tk.Label(cadre_input_type_docs_interstice1,
             bg=couleur_fond,
             text="\t\t",
             justify="left").pack()

    tk.Label(cadre_input_type_docs,
             bg=couleur_fond,
             text="Format de fichier",
             anchor="w",
             justify="left",
             font="Arial 9 bold").pack(anchor="w")
    file_format = tk.IntVar()

    bib2ark.radioButton_lienExample(
        cadre_input_type_docs, file_format, 1, couleur_fond,
        "iso2709 encodé UTF-8", "",
        "https://github.com/Transition-bibliographique/bibliostratus/blob/master/examples/noticesbib.iso"
    )
    tk.Radiobutton(cadre_input_type_docs,
                   bg=couleur_fond,
                   text="iso2709 encodé ISO-8859-1",
                   variable=file_format,
                   value=3,
                   anchor="w",
                   justify="left").pack(anchor="w")

    tk.Radiobutton(cadre_input_type_docs,
                   bg=couleur_fond,
                   text="Marc XML encodé UTF-8",
                   variable=file_format,
                   value=2,
                   anchor="w",
                   justify="left").pack(anchor="w")
    file_format.set(1)

    tk.Label(cadre_input_type_docs,
             bg=couleur_fond,
             text="\n",
             font="Arial 4",
             justify="left").pack()

    lien_help_encodage = tk.Button(
        cadre_input_type_docs,
        font="Arial 8 italic",
        border=0,
        text="Je ne sais pas / Je ne comprends pas",
        command=lambda: main.click2openurl(
            "https://github.com/Transition-bibliographique/bibliostratus/wiki/1-%5BBleu%5D-Pr%C3%A9parer-ses-donn%C3%A9es-pour-l'alignement-%C3%A0-partir-d'un-export-catalogue#lencodage-des-fichiers-en-entr%C3%A9e"
        ),
    )
    lien_help_encodage.pack()

    #    info_utf8 = tk.Label(cadre_input_type_docs,
    #                         bg=couleur_fond,justify="left", font="Arial 7 italic",
    #                         text="""Le fichier iso2709 doit être
    #en UTF-8 sans BOM.
    #En cas de problème,
    #convertissez-le en XML
    #avant de le passer dans ce module""")
    #    info_utf8.pack()

    tk.Label(cadre_input_type_docs_interstice2,
             bg=couleur_fond,
             text="\t",
             justify="left").pack()

    tk.Label(cadre_input_type_rec,
             bg=couleur_fond,
             text="\nType de notices",
             anchor="w",
             justify="left",
             font="Arial 9 bold").pack(anchor="w")
    rec_format = tk.IntVar()

    bib2ark.radioButton_lienExample(cadre_input_type_rec, rec_format, 1,
                                    couleur_fond, "bibliographiques", "", "")

    tk.Radiobutton(cadre_input_type_rec,
                   bg=couleur_fond,
                   text="autorités (personnes)",
                   variable=rec_format,
                   value=2,
                   anchor="w",
                   justify="left").pack(anchor="w")
    rec_format.set(1)

    tk.Label(cadre_input_type_rec, text="\n\n\n\n", bg=couleur_fond).pack()

    # =============================================================================
    #     Formulaire - Fichiers en sortie
    # =============================================================================
    #

    #Choix du format
    tk.Label(cadre_output_header,
             bg=couleur_fond,
             fg=couleur_bouton,
             font="bold",
             text="En sortie :",
             justify="left").pack()
    tk.Label(cadre_output_nom_fichiers,
             bg=couleur_fond,
             text="Identifiant des fichiers en sortie : ",
             justify="left").pack(side="left")
    output_ID = tk.Entry(cadre_output_nom_fichiers, width=40, bd=2)
    output_ID.pack(side="left")

    #Sélection du répertoire en sortie
    #tk.Label(cadre_output_repertoire,text="\n",bg=couleur_fond).pack()
    #main.select_directory(cadre_output_repertoire, "Dossier où déposer les fichiers",output_directory_list,couleur_fond)

    #Ajout (optionnel) d'un identifiant de traitement
    message_fichiers_en_sortie = """
  Le programme va générer plusieurs fichiers, par type de document,
  en fonction du processus d'alignement avec les données de la BnF
  et des métadonnées utilisées pour cela :
        - monographies imprimées
        - périodiques
        - audiovisuel (CD/DVD)
        - autres non identifiés

        
  Pour faire cela, il utilise les informations 
  en zones codées dans chaque notice Unimarc
"""
    tk.Label(cadre_output_explications,
             bg=couleur_fond,
             text=message_fichiers_en_sortie,
             justify="left").pack()
    #explications.pack()

    #Bouton de validation

    b = tk.Button(
        cadre_valider,
        bg=couleur_bouton,
        fg="white",
        font="bold",
        text="OK",
        command=lambda: launch(form, entry_file_list[0], file_format.get(),
                               rec_format.get(), output_ID.get(), master),
        borderwidth=5,
        padx=10,
        pady=10,
        width=10,
        height=4)
    b.pack()

    tk.Label(cadre_valider, font="bold", text="", bg=couleur_fond).pack()

    call4help = tk.Button(
        cadre_valider,
        text=main.texte_bouton_help,
        command=lambda: main.click2openurl(main.url_online_help),
        pady=5,
        padx=5,
        width=12)
    call4help.pack()
    tk.Label(cadre_valider, text="\n", bg=couleur_fond,
             font="Arial 1 normal").pack()

    forum_button = tk.Button(
        cadre_valider,
        text=main.texte_bouton_forum,
        command=lambda: main.click2openurl(main.url_forum_aide),
        pady=5,
        padx=5,
        width=12)
    forum_button.pack()

    tk.Label(cadre_valider, text="\n", bg=couleur_fond,
             font="Arial 4 normal").pack()
    cancel = tk.Button(cadre_valider,
                       text="Annuler",
                       bg=couleur_fond,
                       command=lambda: main.annuler(form),
                       pady=10,
                       padx=5,
                       width=12)
    cancel.pack()

    tk.Label(zone_notes,
             text="BiblioStratus - Version " + str(main.version) + " - " +
             main.lastupdate,
             bg=couleur_fond).pack()
    """if (main.last_version[1] == True):
        download_update = tk.Button(zone_notes, text = "Télécharger la version " + str(main.last_version[0]), command=download_last_update)
        download_update.pack()"""

    tk.mainloop()
Example #3
0
def formulaire_ark2records(master,
                           access_to_network=True,
                           last_version=[version, False]):
    couleur_fond = "white"
    couleur_bouton = "#99182D"

    [
        form, zone_alert_explications, zone_access2programs, zone_actions,
        zone_ok_help_cancel, zone_notes
    ] = main.form_generic_frames(
        master,
        "Bibliostratus : Récupérer les notices complètes de la BnF à partir d'une liste d'ARK",
        couleur_fond, couleur_bouton, access_to_network)

    zone_ok_help_cancel.config(padx=10)

    frame_input = tk.Frame(zone_actions,
                           bg=couleur_fond,
                           padx=10,
                           pady=10,
                           highlightthickness=2,
                           highlightbackground=couleur_bouton)
    frame_input.pack(side="left", anchor="w", padx=10, pady=10)
    frame_input_file = tk.Frame(frame_input, bg=couleur_fond)
    frame_input_file.pack()
    frame_input_aut = tk.Frame(frame_input, bg=couleur_fond)
    frame_input_aut.pack()

    frame_output = tk.Frame(zone_actions,
                            bg=couleur_fond,
                            padx=10,
                            pady=10,
                            highlightthickness=2,
                            highlightbackground=couleur_bouton)
    frame_output.pack(side="left", anchor="w")

    frame_output_options = tk.Frame(frame_output,
                                    bg=couleur_fond,
                                    padx=10,
                                    pady=10)
    frame_output_options.pack(anchor="w")
    frame_output_file = tk.Frame(frame_output,
                                 bg=couleur_fond,
                                 padx=10,
                                 pady=10)
    frame_output_file.pack(anchor="w")
    frame_output_options_marc = tk.Frame(frame_output_options, bg=couleur_fond)
    frame_output_options_marc.pack(side="left", anchor="nw")
    frame_output_options_inter = tk.Frame(frame_output_options,
                                          bg=couleur_fond)
    frame_output_options_inter.pack(side="left")
    frame_output_options_format = tk.Frame(frame_output_options,
                                           bg=couleur_fond)
    frame_output_options_format.pack(side="left", anchor="nw")

    zone_notes_message_en_cours = tk.Frame(zone_notes,
                                           padx=20,
                                           bg=couleur_fond)
    zone_notes_message_en_cours.pack()

    #tk.Label(frame_input_file, text="Fichier contenant les ARK\n (1 par ligne) \n\n",
    #         bg=couleur_fond, justify="left").pack(side="left", anchor="w")
    """entry_filename = tk.Entry(frame_input_file, width=20, bd=2, bg=couleur_fond)
    entry_filename.pack(side="left")
    entry_filename.focus_set()"""
    main.download_zone(
        frame_input_file,
        "Sélectionner un fichier contenant\nune liste d'ARK (un ARK par ligne)",
        entry_file_list, couleur_fond, zone_notes_message_en_cours)

    tk.Label(frame_input_aut, text="\n", bg=couleur_fond).pack()

    #ARK de BIB ou d'AUT ?
    type_records = tk.IntVar()
    bib2ark.radioButton_lienExample(
        frame_input_aut, type_records, 1, couleur_fond, "ARK de notices BIB",
        "",
        "https://raw.githubusercontent.com/Transition-bibliographique/alignements-donnees-bnf/master/examples/listeARKbib.tsv"
    )
    bib2ark.radioButton_lienExample(
        frame_input_aut, type_records, 2, couleur_fond, "ARK de notices AUT",
        "",
        "https://raw.githubusercontent.com/Transition-bibliographique/alignements-donnees-bnf/master/examples/listeARKaut.tsv"
    )
    type_records.set(1)

    tk.Label(frame_input_aut, text="-------------------",
             bg=couleur_fond).pack()

    #Fichier avec en-têtes ?
    headers = tk.IntVar()
    headerButton = tk.Checkbutton(frame_input_aut,
                                  text="Mon fichier a des en-têtes de colonne",
                                  variable=headers,
                                  bg=couleur_fond,
                                  justify="left").pack(anchor="w")

    headers.set(1)

    #notices d'autorité liées
    tk.Label(frame_input_aut,
             text="Récupérer aussi les notices d'autorité liées",
             bg=couleur_fond,
             justify="left",
             font="Arial 9 bold").pack(anchor="w")
    AUTlieesAUT = tk.IntVar()
    tk.Checkbutton(frame_input_aut,
                   text="auteurs",
                   variable=AUTlieesAUT,
                   bg=couleur_fond,
                   justify="left").pack(anchor="w", side="left")
    #tk.Label(frame_input_aut, text="\n", bg=couleur_fond).pack()
    AUTlieesSUB = tk.IntVar()
    tk.Checkbutton(frame_input_aut,
                   text="sujets",
                   variable=AUTlieesSUB,
                   bg=couleur_fond,
                   justify="left").pack(anchor="w", side="left")
    AUTlieesWORK = tk.IntVar()
    tk.Checkbutton(frame_input_aut,
                   text="oeuvres",
                   variable=AUTlieesWORK,
                   bg=couleur_fond,
                   justify="left").pack(anchor="w", side="left")

    #Choix du format
    tk.Label(frame_output_options_marc,
             text="Notices à récupérer en :").pack(anchor="nw")
    format_records_choice = tk.IntVar()
    tk.Radiobutton(frame_output_options_marc,
                   text="Unimarc",
                   variable=format_records_choice,
                   value=1,
                   bg=couleur_fond).pack(anchor="nw")
    tk.Radiobutton(frame_output_options_marc,
                   text="Intermarc",
                   justify="left",
                   variable=format_records_choice,
                   value=3,
                   bg=couleur_fond).pack(anchor="nw")
    tk.Radiobutton(frame_output_options_marc,
                   text="Unimarc avec notices analytiques",
                   justify="left",
                   variable=format_records_choice,
                   value=2,
                   bg=couleur_fond).pack(anchor="nw")
    tk.Radiobutton(frame_output_options_marc,
                   text="Intermarc avec notices analytiques",
                   justify="left",
                   variable=format_records_choice,
                   value=4,
                   bg=couleur_fond).pack(anchor="nw")
    format_records_choice.set(1)

    tk.Label(frame_output_options_inter, text="\n",
             bg=couleur_fond).pack(side="left")

    #tk.Label(frame_output_options,text="\n\n", justify="left", variable=format_records_choice , value=4, bg=couleur_fond).pack()

    tk.Label(frame_output_file,
             text="Préfixe fichier(s) en sortie",
             bg=couleur_fond).pack(side="left", anchor="w")
    outputID = tk.Entry(frame_output_file, bg=couleur_fond)
    outputID.pack(side="left", anchor="w")
    tk.Label(frame_output_file, text="\n\n\n\n\n\n\n",
             bg=couleur_fond).pack(side="left")

    tk.Label(frame_output_options_format,
             text="Format du fichier :").pack(anchor="nw")
    format_file = tk.IntVar()
    tk.Radiobutton(frame_output_options_format,
                   bg=couleur_fond,
                   text="iso2709",
                   variable=format_file,
                   value=1,
                   justify="left").pack(anchor="nw")
    tk.Radiobutton(frame_output_options_format,
                   bg=couleur_fond,
                   text="Marc XML",
                   variable=format_file,
                   value=2,
                   justify="left").pack(anchor="nw")
    format_file.set(1)

    #file_format.focus_set()
    b = tk.Button(zone_ok_help_cancel,
                  text="OK",
                  command=lambda: callback(master, form, entry_file_list[
                      0], type_records.get(), headers.get(), AUTlieesAUT.get(
                      ), AUTlieesSUB.get(), AUTlieesWORK.get(), outputID.get(
                      ), format_records_choice.get(), format_file.get()),
                  width=15,
                  borderwidth=1,
                  pady=20,
                  fg="white",
                  bg=couleur_bouton)
    b.pack()

    main.form_saut_de_ligne(zone_ok_help_cancel, couleur_fond)
    call4help = tk.Button(zone_ok_help_cancel,
                          text=main.texte_bouton_help,
                          command=lambda: main.click2url(main.url_online_help),
                          pady=5,
                          padx=5,
                          width=12)
    call4help.pack()
    tk.Label(zone_ok_help_cancel,
             text="\n",
             bg=couleur_fond,
             font="Arial 1 normal").pack()

    forum_button = tk.Button(
        zone_ok_help_cancel,
        text=main.texte_bouton_forum,
        command=lambda: main.click2url(main.url_forum_aide),
        pady=5,
        padx=5,
        width=12)
    forum_button.pack()

    tk.Label(zone_ok_help_cancel,
             text="\n",
             bg=couleur_fond,
             font="Arial 4 normal").pack()
    cancel = tk.Button(zone_ok_help_cancel,
                       text="Annuler",
                       bg=couleur_fond,
                       command=lambda: main.annuler(form),
                       pady=10,
                       padx=5,
                       width=12)
    cancel.pack()

    tk.Label(zone_notes,
             text="Bibliostratus - Version " + str(main.version) + " - " +
             main.lastupdate,
             bg=couleur_fond).pack()
    """if (main.last_version[1] == True):
        download_update = tk.Button(zone_notes, text = "Télécharger la version " + str(main.last_version[0]), command=download_last_update)
        download_update.pack()"""

    tk.mainloop()