Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CRÉER UNE PAGE HTML (AVEC INTERFACE GRAPHIQUE)


Information sur la source

Catégorie :Réseau & internet Classé sous : créer, page, html, interface, graphique Niveau : Initié Date de création : 02/11/2006 Date de mise à jour : 08/02/2007 09:56:52 Vu / téléchargé: 5 701 / 286

Note :
7 / 10 - par 3 personnes
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (12)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Ce code sert à créé facilement une page html avec un son une image et deux lignes de texte. L'interface graphique est avec WxPython, mais je pense pouvoir créé prochainement une autre interface avec Tkinter. Si vous avez des idéés d'améliorations, faite les moi parvenirs.
Le code peut parraitre un peut compliquer, mais c'est parce que, le fichier créé doit comporter des accents et autres carractères spéciaux. Or c'est assez compliquer ; cf mon code. Si vous voullez plus d'explication n'ésiter pas à laissez des messages.
 

Source

  • import wx
  • import os
  • #########################################
  • class MyMiniFrame1(wx.MiniFrame):
  • def __init__(
  • self, parent, title,entree, pos=wx.DefaultPosition, size=wx.DefaultSize,
  • style=wx.DEFAULT_FRAME_STYLE
  • ):
  • self.entree=entree
  • wx.MiniFrame.__init__(self, parent, -1, title, pos, size, style)
  • panel = wx.Panel(self, -1)
  • button1 = wx.Button(panel, -1, u"É")
  • button2 = wx.Button(panel, -1, u"È")
  • button3 = wx.Button(panel, -1, u"À")
  • button4 = wx.Button(panel, -1, u"")
  • button5 = wx.Button(panel, -1, u"@")
  • button6 = wx.Button(panel, -1, u"Ç")
  • button7 = wx.Button(panel, -1, u"æ")
  • button8 = wx.Button(panel, -1, u"")
  • button9 = wx.Button(panel, -1, u"©")
  • button10 = wx.Button(panel, -1, u"®")
  • boutonqui= wx.Button(panel, -1, u"Fermer cette fenêtre")
  • self.Bind(wx.EVT_BUTTON, self.pb1, button1)
  • self.Bind(wx.EVT_BUTTON, self.pb2, button2)
  • self.Bind(wx.EVT_BUTTON, self.pb3, button3)
  • self.Bind(wx.EVT_BUTTON, self.pb4, button4)
  • self.Bind(wx.EVT_BUTTON, self.pb5, button5)
  • self.Bind(wx.EVT_BUTTON, self.pb6, button6)
  • self.Bind(wx.EVT_BUTTON, self.pb7, button7)
  • self.Bind(wx.EVT_BUTTON, self.pb8, button8)
  • self.Bind(wx.EVT_BUTTON, self.pb9, button9)
  • self.Bind(wx.EVT_BUTTON, self.pb10, button10)
  • self.Bind(wx.EVT_BUTTON, self.qu, boutonqui)
  • sizer = wx.BoxSizer(wx.VERTICAL)
  • lign1 = wx.BoxSizer(wx.HORIZONTAL)
  • lign1.Add(button1, 0, wx.ALL|wx.CENTER, 10)
  • lign1.Add(button2, 0, wx.ALL|wx.CENTER, 10)
  • lign1.Add(button3, 0, wx.ALL|wx.CENTER, 10)
  • lign1.Add(button4, 0, wx.ALL|wx.CENTER, 10)
  • lign1.Add(button5, 0, wx.ALL|wx.CENTER, 10)
  • lign2 = wx.BoxSizer(wx.HORIZONTAL)
  • lign2.Add(button6, 0, wx.ALL|wx.CENTER, 10)
  • lign2.Add(button7, 0, wx.ALL|wx.CENTER, 10)
  • lign2.Add(button8, 0, wx.ALL|wx.CENTER, 10)
  • lign2.Add(button9, 0, wx.ALL|wx.CENTER, 10)
  • lign2.Add(button10, 0, wx.ALL|wx.CENTER, 10)
  • sizer.Add(lign1, 0, wx.ALL|wx.CENTER, 10)
  • sizer.Add(lign2, 0, wx.ALL|wx.CENTER, 10)
  • sizer.Add(boutonqui, 0, wx.ALL|wx.CENTER, 10)
  • panel.SetSizer(sizer)
  • panel.Layout()
  • def pb1(self, evt):
  • global carr
  • carr=u"É"
  • self.fonc()
  • def pb2(self, evt):
  • global carr
  • carr=u"È"
  • self.fonc()
  • def pb3(self, evt):
  • global carr
  • carr=u"À"
  • self.fonc()
  • def pb4(self, evt):
  • global carr
  • carr=u""
  • self.fonc()
  • def pb5(self, evt):
  • global carr
  • carr=u"@"
  • self.fonc()
  • def pb6(self, evt):
  • global carr
  • carr=u"Ç"
  • self.fonc()
  • def pb7(self, evt):
  • global carr
  • carr=u"æ"
  • self.fonc()
  • def pb8(self, evt):
  • global carr
  • carr=u""
  • self.fonc()
  • def pb9(self, evt):
  • global carr
  • carr=u"©"
  • self.fonc()
  • def pb10(self, evt):
  • global carr
  • carr=u"®"
  • self.fonc()
  • def fonc(self):
  • global carr
  • tempore=self.entree.GetValue()
  • self.entree.Clear()
  • self.entree.WriteText(tempore+carr)
  • def qu(self, evt):
  • self.Destroy()
  • class MyFrame(wx.Frame):
  • def __init__(self, parent, title):
  • wx.Frame.__init__(self, parent, -1, title,size=((500, 600)))
  • global choix1,choix2,b11,b12,chso,chim,entree_1,entree_2,entree_3,fichier,fichier2
  • menuBar = wx.MenuBar()
  • menu = wx.Menu()
  • menu.Append(1,u"Quitter\tAlt-F2", "Quitter le programme")
  • self.Bind(wx.EVT_MENU, self.quiter, id=1)
  • menuBar.Append(menu, u"Fichier")
  • menu2 = wx.Menu()
  • menu2.Append(2,u"Aide", "Obtenir de l'aide")
  • menu2.AppendSeparator()
  • menu2.Append(3,u"À propos de ...", u"Imformation générale")
  • self.Bind(wx.EVT_MENU, self.aide, id=2)
  • self.Bind(wx.EVT_MENU, self.propo, id=3)
  • menuBar.Append(menu2, u"Aide")
  • self.SetMenuBar(menuBar)
  • self.CreateStatusBar()
  • choix1=0
  • choix2=0
  • chso=0
  • chim=0
  • fichier=''
  • fichier2=''
  • panel = wx.Panel(self)
  • texta=wx.StaticText(panel, -1, u"Voici un programme qui permet de créé une page html avec différant élements")
  • texta.SetSize(texta.GetBestSize())
  • box = wx.StaticBox(panel, -1, u"Son")
  • bsizer = wx.StaticBoxSizer(box, wx.VERTICAL)
  • texta1 = wx.StaticText(panel, -1, u"\nObtion n°1 : le son \n\n")
  • c1 = wx.CheckBox(panel, -1, u"Insérer un son")
  • textb1 = wx.StaticText(panel, -1, "\n")
  • b11 = wx.Button(panel, -1, u"Choisir un son")
  • b11.Enable(False)
  • bsizer.Add(texta1, 0, wx.CENTER, 10)
  • bsizer.Add(c1, 0,wx.CENTER, 10)
  • bsizer.Add(textb1, 0,wx.CENTER, 10)
  • bsizer.Add(b11, 0,wx.CENTER, 10)
  • box1 = wx.StaticBox(panel, -1, u"Image")
  • bsizer1 = wx.StaticBoxSizer(box1, wx.VERTICAL)
  • texta2 = wx.StaticText(panel, -1, u"\nObtion n°2 : l'image \n\n")
  • c2 = wx.CheckBox(panel, -1, u"Insérer une image")
  • textb2 = wx.StaticText(panel, -1, "\n")
  • b12 = wx.Button(panel, -1, u"Choisir une image")
  • b12.Enable(False)
  • bsizer1.Add(texta2, 0, wx.CENTER, 10)
  • bsizer1.Add(c2, 0,wx.CENTER, 10)
  • bsizer1.Add(textb2, 0,wx.CENTER, 10)
  • bsizer1.Add(b12, 0,wx.CENTER, 10)
  • box2 = wx.StaticBox(panel, -1, u"Titre et message")
  • bsizer2 = wx.StaticBoxSizer(box2, wx.VERTICAL)
  • texta3 = wx.StaticText(panel, -1, u"\nObtion n°3 : l'insertion du titre et de deux lignes d'information \n\n Titre :")
  • entree_1= wx.TextCtrl(panel, -1, u"Titre", size=(200,-1))
  • textb3 = wx.StaticText(panel, -1, u"\nLigne n°1 (en gras) :")
  • sep1=wx.StaticText(panel, -1, u" ")
  • sep2=wx.StaticText(panel, -1, u" ")
  • sep3=wx.StaticText(panel, -1, u" ")
  • entree_2= wx.TextCtrl(panel, -1, u"Ligne 1", size=(200,-1))
  • textc3 = wx.StaticText(panel, -1, u"\nLigne n°2 (normal) :")
  • entree_3= wx.TextCtrl(panel, -1, u"Ligne 2", size=(200,-1))
  • ben1=wx.Button(panel, -1, u"Insérer un carractère spécial")
  • ben2=wx.Button(panel, -1, u"Insérer un carractère spécial")
  • ben3=wx.Button(panel, -1, u"Insérer un carractère spécial")
  • boit7 = wx.BoxSizer(wx.HORIZONTAL)
  • boit7.Add(entree_1, 0,wx.CENTER, 10)
  • boit7.Add(sep1, 0,wx.CENTER, 10)
  • boit7.Add(ben1, 0,wx.CENTER, 10)
  • boit8 = wx.BoxSizer(wx.HORIZONTAL)
  • boit8.Add(entree_2, 0,wx.CENTER, 10)
  • boit8.Add(sep2, 0,wx.CENTER, 10)
  • boit8.Add(ben2, 0,wx.CENTER, 10)
  • boit9 = wx.BoxSizer(wx.HORIZONTAL)
  • boit9.Add(entree_3, 0,wx.CENTER, 10)
  • boit9.Add(sep3, 0,wx.CENTER, 10)
  • boit9.Add(ben3, 0,wx.CENTER, 10)
  • bsizer2.Add(texta3, 0, wx.CENTER, 10)
  • bsizer2.Add(boit7, 0,wx.CENTER, 10)
  • bsizer2.Add(textb3, 0,wx.CENTER, 10)
  • bsizer2.Add(boit8, 0,wx.CENTER, 10)
  • bsizer2.Add(textc3, 0,wx.CENTER, 10)
  • bsizer2.Add(boit9, 0,wx.CENTER, 10)
  • b1 = wx.Button(panel, -1, u"Quitter le programme")
  • b2 = wx.Button(panel, -1, u"Créé le fichier")
  • self.Bind(wx.EVT_BUTTON, self.quiter, b1)
  • self.Bind(wx.EVT_BUTTON, self.cree, b2)
  • self.Bind(wx.EVT_CHECKBOX, self.choi1, c1)
  • self.Bind(wx.EVT_CHECKBOX, self.choi2, c2)
  • self.Bind(wx.EVT_BUTTON, self.imson, b11)
  • self.Bind(wx.EVT_BUTTON, self.imima, b12)
  • self.Bind(wx.EVT_BUTTON, self.fonc1, ben1)
  • self.Bind(wx.EVT_BUTTON, self.fonc2, ben2)
  • self.Bind(wx.EVT_BUTTON, self.fonc3, ben3)
  • sizer = wx.BoxSizer(wx.VERTICAL)
  • sizer.Add(texta, 0, wx.ALL|wx.CENTER, 10)
  • boit = wx.BoxSizer(wx.HORIZONTAL)
  • boit.Add(bsizer, 0, wx.ALL, 10)
  • boit.Add(bsizer1, 0, wx.ALL, 10)
  • sizer.Add(boit, 0, wx.ALL|wx.CENTER, 10)
  • sizer.Add(bsizer2, 0, wx.ALL|wx.CENTER, 10)
  • boit1 = wx.BoxSizer(wx.HORIZONTAL)
  • boit1.Add(b1, 0, wx.ALL, 10)
  • boit1.Add(b2, 0, wx.ALL, 10)
  • sizer.Add(boit1, 0, wx.ALL|wx.CENTER, 10)
  • panel.SetSizer(sizer)
  • panel.Layout()
  • self.Centre()
  • def quiter(self, evt):
  • self.Close()
  • def choi1(self, evt):
  • global choix1,b11
  • if choix1==0:
  • b11.Enable(True)
  • choix1=1
  • else :
  • b11.Enable(False)
  • choix1=0
  • def choi2(self, evt):
  • global choix2,b12
  • if choix2==0:
  • b12.Enable(True)
  • choix2=1
  • else :
  • b12.Enable(False)
  • choix2=0
  • def imson(self,evt):
  • global chso,fichier
  • dlg = wx.FileDialog(
  • self, message=u"Importer un fichier audio", defaultDir=os.getcwd(),
  • defaultFile="", wildcard=u"Fichier audio Windows Média (*.wma)|*.wma|Tout les fichiers|*.*", style=wx.OPEN
  • )
  • if dlg.ShowModal() == wx.ID_OK:
  • fichier = dlg.GetPaths()
  • fichier = fichier[0]
  • nombre = len(fichier)-4
  • if fichier[nombre:].lower()==u'.wma':
  • chso=1
  • else :
  • dia=wx.MessageDialog(self, u"Vous n'avez pas sélectionner de fichier audio valide.", caption = u"Erreur", style = wx.OK|wx.ICON_ERROR,
  • pos = wx.DefaultPosition)
  • valeur = dia.ShowModal()
  • chso=0
  • def imima(self,evt):
  • global chim,fichier2
  • dlg = wx.FileDialog(
  • self, message=u"Importer un fichier image", defaultDir=os.getcwd(),
  • defaultFile="", wildcard=u"Fichier JPG (*.JPG)|*.JPG|Fichier PNG (*.PNG)|*.PNG|Fichier bmp (*.bmp)|*.bmp|Tout les fichiers|*.*", style=wx.OPEN
  • )
  • if dlg.ShowModal() == wx.ID_OK:
  • fichier2 = dlg.GetPaths()
  • fichier2 = fichier2[0]
  • nombre = len(fichier2)-4
  • if fichier2[nombre:].lower()==u'.jpg' or fichier2[nombre:].lower()==u'.png' or fichier2[nombre:].lower()==u'.bmp':
  • chim=1
  • else :
  • dia=wx.MessageDialog(self, u"Vous n'avez pas sélectionner de fichier image valide.", caption = u"Erreur", style = wx.OK|wx.ICON_ERROR,
  • pos = wx.DefaultPosition)
  • valeur = dia.ShowModal()
  • chim=0
  • def aide(self, evt):
  • dia=wx.MessageDialog(self, u"Aide\n\n\nCe programme vous permet de créé une page dite html, c'est à dire\nune page Internet. Vous n'avez qu'a renter les informations demander (ce\nn'est pas compliquer !). La page html sera créé ou vous l'avez indiquer\nsur votre disque dure. Bonne utilisation !", caption = u"Aide", style = wx.OK,
  • pos = wx.DefaultPosition)
  • valeur = dia.ShowModal()
  • dia.Destroy()
  • def propo(self, evt):
  • dia=wx.MessageDialog(self, u"À propos de ce programme :\n\n_____________________________\n\nCréé par Aéra group.\nVersion 2.1.1 (La version 1.0 n'est pas disponible)\n\nRemerciment : à N. Pourc. (cette personne se reconnaitra !) pour m'avoir aider sur WxPython.", caption = u"À propos de ...", style = wx.OK,
  • pos = wx.DefaultPosition)
  • valeur = dia.ShowModal()
  • dia.Destroy()
  • def fonc1(self, evt):
  • win = MyMiniFrame1(self, u'Carractère spéciaux du champs "Titre"',entree_1,
  • style=wx.DEFAULT_FRAME_STYLE | wx.TINY_CAPTION_HORIZ)
  • win.CenterOnParent(wx.BOTH)
  • win.SetSize((500, 200))
  • win.Show(True)
  • def fonc2(self, evt):
  • win = MyMiniFrame1(self, u'Carractère spéciaux du champs "Ligne n°1"',entree_2,
  • style=wx.DEFAULT_FRAME_STYLE | wx.TINY_CAPTION_HORIZ)
  • win.CenterOnParent(wx.BOTH)
  • win.SetSize((500, 200))
  • win.Show(True)
  • def fonc3(self, evt):
  • win = MyMiniFrame1(self, u'Carractère spéciaux du champs "Ligne n°2"',entree_3,
  • style=wx.DEFAULT_FRAME_STYLE | wx.TINY_CAPTION_HORIZ)
  • win.CenterOnParent(wx.BOTH)
  • win.SetSize((500, 200))
  • win.Show(True)
  • def cree(self, evt):
  • global chim,fichier2,chso,fichier,entree_1,entree_2,entree_3,choix2,choix1
  • if entree_1.GetValue()=='':
  • dia=wx.MessageDialog(self, u"Il faut obligatoirement renter un titre.", caption = u"Erreur", style = wx.OK|wx.ICON_ERROR,
  • pos = wx.DefaultPosition)
  • valeur = dia.ShowModal()
  • else:
  • con=1
  • if choix1==1 and chso==0:
  • dia=wx.MessageDialog(self, u"Vous n'avez pas sélectionner de fichier son. Voullez vous continuer ?", caption = u"Question son", style = wx.YES_NO|wx.ICON_QUESTION,
  • pos = wx.DefaultPosition)
  • valeur = dia.ShowModal()
  • if valeur==wx.ID_NO:
  • con=0
  • if con==1:
  • if choix2==1 and chim==0:
  • dia=wx.MessageDialog(self, u"Vous n'avez pas sélectionner de fichier image. Voullez vous continuer ?", caption = u"Question image", style = wx.YES_NO|wx.ICON_QUESTION,
  • pos = wx.DefaultPosition)
  • valeur = dia.ShowModal()
  • if valeur==wx.ID_NO:
  • con=0
  • else:
  • con=1
  • if con==1:
  • dlg = wx.FileDialog(self, message=u"Créé le fichier html", defaultDir=os.getcwd(),
  • defaultFile="", wildcard=u"Fichier web html (*.html)|*.html", style=wx.SAVE)
  • if dlg.ShowModal() == wx.ID_OK:
  • fi=dlg.GetPath()
  • outfile = open(fi, "w")
  • fil="""<HTML><HEAD>
  • <TITLE>%s</TITLE>
  • </HEAD><BODY><DIV ALIGN="center">""" % (entree_1.GetValue())
  • if choix2==1 and chim==1:
  • fil=fil+"""
  • <IMG SRC="%s">""" % (fichier2)
  • if choix1==1 and chso==1:
  • fil=fil+"""
  • <bgsound src="%s" loop="1">""" % (fichier)
  • fil=fil + """
  • <H2>%s</H2>
  • <P>%s</P>
  • </FORM>
  • </DIV></BODY></HTML>""" % (entree_2.GetValue(),entree_3.GetValue())
  • outfile.write(fil.encode("windows-1252"))
  • outfile.close()
  • class MyApp(wx.App):
  • def OnInit(self):
  • frame = MyFrame(None, u"Créé une page html")
  • self.SetTopWindow(frame)
  • frame.Show(True)
  • return True
  • app = MyApp(True)
  • app.MainLoop()
import wx
import os



#########################################
class MyMiniFrame1(wx.MiniFrame):
    def __init__(
        self, parent, title,entree, pos=wx.DefaultPosition, size=wx.DefaultSize,
        style=wx.DEFAULT_FRAME_STYLE
        ):
        self.entree=entree

        wx.MiniFrame.__init__(self, parent, -1, title, pos, size, style)
        panel = wx.Panel(self, -1)




        button1 = wx.Button(panel, -1, u"É")
        button2 = wx.Button(panel, -1, u"È")
        button3 = wx.Button(panel, -1, u"À")
        button4 = wx.Button(panel, -1, u"€")
        button5 = wx.Button(panel, -1, u"@")
        button6 = wx.Button(panel, -1, u"Ç")
        button7 = wx.Button(panel, -1, u"æ")
        button8 = wx.Button(panel, -1, u"™")
        button9 = wx.Button(panel, -1, u"©")
        button10 = wx.Button(panel, -1, u"®")
        boutonqui= wx.Button(panel, -1, u"Fermer cette fenêtre")

        self.Bind(wx.EVT_BUTTON, self.pb1, button1)
        self.Bind(wx.EVT_BUTTON, self.pb2, button2)
        self.Bind(wx.EVT_BUTTON, self.pb3, button3)
        self.Bind(wx.EVT_BUTTON, self.pb4, button4)
        self.Bind(wx.EVT_BUTTON, self.pb5, button5)
        self.Bind(wx.EVT_BUTTON, self.pb6, button6)
        self.Bind(wx.EVT_BUTTON, self.pb7, button7)
        self.Bind(wx.EVT_BUTTON, self.pb8, button8)
        self.Bind(wx.EVT_BUTTON, self.pb9, button9)
        self.Bind(wx.EVT_BUTTON, self.pb10, button10)
        self.Bind(wx.EVT_BUTTON, self.qu, boutonqui)
        

        sizer = wx.BoxSizer(wx.VERTICAL)

        lign1 = wx.BoxSizer(wx.HORIZONTAL)
        lign1.Add(button1, 0, wx.ALL|wx.CENTER, 10)
        lign1.Add(button2, 0, wx.ALL|wx.CENTER, 10)
        lign1.Add(button3, 0, wx.ALL|wx.CENTER, 10)
        lign1.Add(button4, 0, wx.ALL|wx.CENTER, 10)
        lign1.Add(button5, 0, wx.ALL|wx.CENTER, 10)

        lign2 = wx.BoxSizer(wx.HORIZONTAL)
        lign2.Add(button6, 0, wx.ALL|wx.CENTER, 10)
        lign2.Add(button7, 0, wx.ALL|wx.CENTER, 10)
        lign2.Add(button8, 0, wx.ALL|wx.CENTER, 10)
        lign2.Add(button9, 0, wx.ALL|wx.CENTER, 10)
        lign2.Add(button10, 0, wx.ALL|wx.CENTER, 10)

        sizer.Add(lign1, 0, wx.ALL|wx.CENTER, 10)
        sizer.Add(lign2, 0, wx.ALL|wx.CENTER, 10)
        sizer.Add(boutonqui, 0, wx.ALL|wx.CENTER, 10)

        panel.SetSizer(sizer)
        panel.Layout()

    def pb1(self, evt):
        global carr
        carr=u"É"
        self.fonc()
    def pb2(self, evt):
        global carr
        carr=u"È"
        self.fonc()
    def pb3(self, evt):
        global carr
        carr=u"À"
        self.fonc()
    def pb4(self, evt):
        global carr
        carr=u"€"
        self.fonc()
    def pb5(self, evt):
        global carr
        carr=u"@"
        self.fonc()
    def pb6(self, evt):
        global carr
        carr=u"Ç"
        self.fonc()
    def pb7(self, evt):
        global carr
        carr=u"æ"
        self.fonc()
    def pb8(self, evt):
        global carr
        carr=u"™"
        self.fonc()
    def pb9(self, evt):
        global carr
        carr=u"©"
        self.fonc()
    def pb10(self, evt):
        global carr
        carr=u"®"
        self.fonc()

    def fonc(self):
        global carr
        tempore=self.entree.GetValue()
        self.entree.Clear()
        self.entree.WriteText(tempore+carr)

    def qu(self, evt):
        self.Destroy()

        



class MyFrame(wx.Frame):
    def __init__(self, parent, title):
        wx.Frame.__init__(self, parent, -1, title,size=((500, 600)))
        global choix1,choix2,b11,b12,chso,chim,entree_1,entree_2,entree_3,fichier,fichier2

        



        menuBar = wx.MenuBar()

         
        menu = wx.Menu()

        
        menu.Append(1,u"Quitter\tAlt-F2", "Quitter le programme")

        self.Bind(wx.EVT_MENU, self.quiter, id=1)

        menuBar.Append(menu, u"Fichier")

        menu2 = wx.Menu()
        menu2.Append(2,u"Aide", "Obtenir de l'aide")
        menu2.AppendSeparator()
        menu2.Append(3,u"À propos de ...", u"Imformation générale")

        self.Bind(wx.EVT_MENU, self.aide, id=2)
        self.Bind(wx.EVT_MENU, self.propo, id=3)

        menuBar.Append(menu2, u"Aide")
        
        self.SetMenuBar(menuBar)


        self.CreateStatusBar()


        choix1=0
        choix2=0
        chso=0
        chim=0
        fichier=''
        fichier2=''


        
        panel = wx.Panel(self)

        
        texta=wx.StaticText(panel, -1, u"Voici un programme qui permet de créé une page html avec différant élements")
        texta.SetSize(texta.GetBestSize())

        box = wx.StaticBox(panel, -1, u"Son")
        bsizer = wx.StaticBoxSizer(box, wx.VERTICAL)
        texta1 = wx.StaticText(panel, -1, u"\nObtion n°1 : le son                             \n\n")
        c1 = wx.CheckBox(panel, -1, u"Insérer un son")
        textb1 = wx.StaticText(panel, -1, "\n")
        b11 = wx.Button(panel, -1, u"Choisir un son")
        b11.Enable(False)
        bsizer.Add(texta1, 0, wx.CENTER, 10)
        bsizer.Add(c1, 0,wx.CENTER, 10)
        bsizer.Add(textb1, 0,wx.CENTER, 10)
        bsizer.Add(b11, 0,wx.CENTER, 10)



        box1 = wx.StaticBox(panel, -1, u"Image")
        bsizer1 = wx.StaticBoxSizer(box1, wx.VERTICAL)
        texta2 = wx.StaticText(panel, -1, u"\nObtion n°2 : l'image                             \n\n")
        c2 = wx.CheckBox(panel, -1, u"Insérer une image")
        textb2 = wx.StaticText(panel, -1, "\n")
        b12 = wx.Button(panel, -1, u"Choisir une image")
        b12.Enable(False)
        bsizer1.Add(texta2, 0, wx.CENTER, 10)
        bsizer1.Add(c2, 0,wx.CENTER, 10)
        bsizer1.Add(textb2, 0,wx.CENTER, 10)
        bsizer1.Add(b12, 0,wx.CENTER, 10)

        box2 = wx.StaticBox(panel, -1, u"Titre et message")
        bsizer2 = wx.StaticBoxSizer(box2, wx.VERTICAL)
        texta3 = wx.StaticText(panel, -1, u"\nObtion n°3 : l'insertion du titre et de deux lignes d'information                                            \n\n                                                                         Titre :")
        entree_1= wx.TextCtrl(panel, -1, u"Titre", size=(200,-1))
        textb3 = wx.StaticText(panel, -1, u"\nLigne n°1 (en gras) :")
        sep1=wx.StaticText(panel, -1, u"   ")
        sep2=wx.StaticText(panel, -1, u"   ")
        sep3=wx.StaticText(panel, -1, u"   ")
        entree_2= wx.TextCtrl(panel, -1, u"Ligne 1", size=(200,-1))
        textc3 = wx.StaticText(panel, -1, u"\nLigne n°2 (normal) :")
        entree_3= wx.TextCtrl(panel, -1, u"Ligne 2", size=(200,-1))
        ben1=wx.Button(panel, -1, u"Insérer un carractère spécial")
        ben2=wx.Button(panel, -1, u"Insérer un carractère spécial")
        ben3=wx.Button(panel, -1, u"Insérer un carractère spécial")
        
        boit7 = wx.BoxSizer(wx.HORIZONTAL)
        boit7.Add(entree_1, 0,wx.CENTER, 10)
        boit7.Add(sep1, 0,wx.CENTER, 10)
        boit7.Add(ben1, 0,wx.CENTER, 10)

        boit8 = wx.BoxSizer(wx.HORIZONTAL)
        boit8.Add(entree_2, 0,wx.CENTER, 10)
        boit8.Add(sep2, 0,wx.CENTER, 10)
        boit8.Add(ben2, 0,wx.CENTER, 10)

        boit9 = wx.BoxSizer(wx.HORIZONTAL)
        boit9.Add(entree_3, 0,wx.CENTER, 10)
        boit9.Add(sep3, 0,wx.CENTER, 10)
        boit9.Add(ben3, 0,wx.CENTER, 10)

        
        bsizer2.Add(texta3, 0, wx.CENTER, 10)
        bsizer2.Add(boit7, 0,wx.CENTER, 10)
        bsizer2.Add(textb3, 0,wx.CENTER, 10)
        bsizer2.Add(boit8, 0,wx.CENTER, 10)
        bsizer2.Add(textc3, 0,wx.CENTER, 10)
        bsizer2.Add(boit9, 0,wx.CENTER, 10)

        
        b1 = wx.Button(panel, -1, u"Quitter le programme")
        b2 = wx.Button(panel, -1, u"Créé le fichier")
        



        
        self.Bind(wx.EVT_BUTTON, self.quiter, b1)
        self.Bind(wx.EVT_BUTTON, self.cree, b2)        
        self.Bind(wx.EVT_CHECKBOX, self.choi1, c1)
        self.Bind(wx.EVT_CHECKBOX, self.choi2, c2)
        self.Bind(wx.EVT_BUTTON, self.imson, b11)
        self.Bind(wx.EVT_BUTTON, self.imima, b12)
        self.Bind(wx.EVT_BUTTON, self.fonc1, ben1)
        self.Bind(wx.EVT_BUTTON, self.fonc2, ben2)
        self.Bind(wx.EVT_BUTTON, self.fonc3, ben3)


        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(texta, 0, wx.ALL|wx.CENTER, 10)

        boit = wx.BoxSizer(wx.HORIZONTAL)
        
        boit.Add(bsizer, 0, wx.ALL, 10)
        boit.Add(bsizer1, 0, wx.ALL, 10)
        sizer.Add(boit, 0, wx.ALL|wx.CENTER, 10)
        
        sizer.Add(bsizer2, 0, wx.ALL|wx.CENTER, 10)
        
        boit1 = wx.BoxSizer(wx.HORIZONTAL)
        
        boit1.Add(b1, 0, wx.ALL, 10)
        boit1.Add(b2, 0, wx.ALL, 10)
        sizer.Add(boit1, 0, wx.ALL|wx.CENTER, 10)
        panel.SetSizer(sizer)
        panel.Layout()


        self.Centre()


    def quiter(self, evt):
        self.Close()


    def choi1(self, evt):
        global choix1,b11
        if choix1==0:
            b11.Enable(True)
            choix1=1
        else :
            b11.Enable(False)
            choix1=0

    def choi2(self, evt):
        global choix2,b12
        if choix2==0:
            b12.Enable(True)
            choix2=1
        else :
            b12.Enable(False)
            choix2=0


    def imson(self,evt):
        global chso,fichier
        dlg = wx.FileDialog(
            self, message=u"Importer un fichier audio", defaultDir=os.getcwd(), 
            defaultFile="", wildcard=u"Fichier audio Windows Média (*.wma)|*.wma|Tout les fichiers|*.*", style=wx.OPEN
            )


        if dlg.ShowModal() == wx.ID_OK:
            
            fichier = dlg.GetPaths()
            fichier = fichier[0]
            nombre = len(fichier)-4
            if fichier[nombre:].lower()==u'.wma':
                chso=1
            else :
                dia=wx.MessageDialog(self, u"Vous n'avez pas sélectionner de fichier audio valide.", caption = u"Erreur", style = wx.OK|wx.ICON_ERROR,
                             pos = wx.DefaultPosition)
                valeur = dia.ShowModal()
                chso=0

    def imima(self,evt):
        global chim,fichier2
        dlg = wx.FileDialog(
            self, message=u"Importer un fichier image", defaultDir=os.getcwd(), 
            defaultFile="", wildcard=u"Fichier JPG (*.JPG)|*.JPG|Fichier PNG (*.PNG)|*.PNG|Fichier bmp (*.bmp)|*.bmp|Tout les fichiers|*.*", style=wx.OPEN
            )


        if dlg.ShowModal() == wx.ID_OK:
            
            fichier2 = dlg.GetPaths()
            fichier2 = fichier2[0]
            nombre = len(fichier2)-4
            if fichier2[nombre:].lower()==u'.jpg' or fichier2[nombre:].lower()==u'.png' or fichier2[nombre:].lower()==u'.bmp':
                chim=1
            else :
                dia=wx.MessageDialog(self, u"Vous n'avez pas sélectionner de fichier image valide.", caption = u"Erreur", style = wx.OK|wx.ICON_ERROR,
                             pos = wx.DefaultPosition)
                valeur = dia.ShowModal()
                chim=0
        

    

    def aide(self, evt):
        dia=wx.MessageDialog(self, u"Aide\n\n\nCe programme vous permet de créé une page dite html, c'est à dire\nune page Internet. Vous n'avez qu'a renter les informations demander (ce\nn'est pas compliquer !). La page html sera créé ou vous l'avez indiquer\nsur votre disque dure. Bonne utilisation !", caption = u"Aide", style = wx.OK,
                             pos = wx.DefaultPosition)
        valeur = dia.ShowModal()
        dia.Destroy()
        
    def propo(self, evt):
        dia=wx.MessageDialog(self, u"À propos de ce programme :\n\n_____________________________\n\nCréé par Aéra group.\nVersion 2.1.1 (La version 1.0 n'est pas disponible)\n\nRemerciment : à N. Pourc. (cette personne se reconnaitra !) pour m'avoir aider sur WxPython.", caption = u"À propos de ...", style = wx.OK,
                             pos = wx.DefaultPosition)
        valeur = dia.ShowModal()
        dia.Destroy()

    def fonc1(self, evt):
        win = MyMiniFrame1(self, u'Carractère spéciaux du champs "Titre"',entree_1,
                          style=wx.DEFAULT_FRAME_STYLE | wx.TINY_CAPTION_HORIZ)
        win.CenterOnParent(wx.BOTH)
        win.SetSize((500, 200)) 
        win.Show(True)

    def fonc2(self, evt):
        win = MyMiniFrame1(self, u'Carractère spéciaux du champs "Ligne n°1"',entree_2,
                          style=wx.DEFAULT_FRAME_STYLE | wx.TINY_CAPTION_HORIZ)
        win.CenterOnParent(wx.BOTH)
        win.SetSize((500, 200)) 
        win.Show(True)

    def fonc3(self, evt):
        win = MyMiniFrame1(self, u'Carractère spéciaux du champs "Ligne n°2"',entree_3,
                          style=wx.DEFAULT_FRAME_STYLE | wx.TINY_CAPTION_HORIZ)
        win.CenterOnParent(wx.BOTH)
        win.SetSize((500, 200)) 
        win.Show(True)

    def cree(self, evt):
        global chim,fichier2,chso,fichier,entree_1,entree_2,entree_3,choix2,choix1
        if entree_1.GetValue()=='':
            dia=wx.MessageDialog(self, u"Il faut obligatoirement renter un titre.", caption = u"Erreur", style = wx.OK|wx.ICON_ERROR,
                             pos = wx.DefaultPosition)
            valeur = dia.ShowModal()
        else:
            con=1
            if choix1==1 and chso==0:
                dia=wx.MessageDialog(self, u"Vous n'avez pas sélectionner de fichier son. Voullez vous continuer ?", caption = u"Question son", style = wx.YES_NO|wx.ICON_QUESTION,
                             pos = wx.DefaultPosition)
                valeur = dia.ShowModal()
                if valeur==wx.ID_NO:
                    con=0
            if con==1:
                if choix2==1 and chim==0:
                    dia=wx.MessageDialog(self, u"Vous n'avez pas sélectionner de fichier image. Voullez vous continuer ?", caption = u"Question image", style = wx.YES_NO|wx.ICON_QUESTION,
                                 pos = wx.DefaultPosition)
                    valeur = dia.ShowModal()
                    if valeur==wx.ID_NO:
                        con=0
                    else:
                        con=1
            if con==1:
                dlg = wx.FileDialog(self, message=u"Créé le fichier html", defaultDir=os.getcwd(),
                                    defaultFile="", wildcard=u"Fichier web html (*.html)|*.html", style=wx.SAVE)
                if dlg.ShowModal() == wx.ID_OK:
                    fi=dlg.GetPath()
                    outfile = open(fi, "w")
                    fil="""<HTML><HEAD>
<TITLE>%s</TITLE>
</HEAD><BODY><DIV ALIGN="center">""" % (entree_1.GetValue())
                    if choix2==1 and chim==1:
                        fil=fil+"""

<IMG SRC="%s">""" % (fichier2)
                    if choix1==1 and chso==1:
                        fil=fil+"""

<bgsound src="%s" loop="1">""" % (fichier)
                    fil=fil + """

<H2>%s</H2>
<P>%s</P>
</FORM>
</DIV></BODY></HTML>""" % (entree_2.GetValue(),entree_3.GetValue())
                    outfile.write(fil.encode("windows-1252"))
                    outfile.close()
                    
                    

                    
        

        

class MyApp(wx.App):
    def OnInit(self):
        frame = MyFrame(None, u"Créé une page html")
        self.SetTopWindow(frame)

        frame.Show(True)
        return True
        
app = MyApp(True)
app.MainLoop()

Conclusion

Remerciment : N. Pourc. (cette personne se reconnetra) pour m'avoir aidé à débuter avec Python et WxPython.

POUR CEUX QUI DÉSIR TÉLÉCHARGER WX.PYTHON :

Allez sur le site http://www.wxpython.org/download.php et sélectionner la version correspondant à votre version de Python et à votre système d'exploitation.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

08 février 2007 09:56:53 :
Simplification du code : Une seule classe "mini frame" et création d'un fichier comprenant des accents sans passer par le module codecs

Commentaires et avis

signaler à un administrateur
Commentaire de ghuysmans99 le 02/11/2006 15:43:47

0/10 en orthographe !

passe un peu ça dans word ... (avec le verif. d'orthographe!)
sinon, ca a l'air de marcher

signaler à un administrateur
Commentaire de aera group le 02/11/2006 16:31:52

Désoler, je ne suis pas très fort en orthographe (je prefert les maths) !!!

signaler à un administrateur
Commentaire de econs le 03/11/2006 09:19:42 administrateur CS

Juste pour info, les fichiers bmp ne sont pas très recommandés avec le HTML. Trop lourds à charger. Quelqu'un qui voudrait en mettre dans sa page ne serait pas très adroit. Autant s'en prémunir en ne permettant pas ce choix.

signaler à un administrateur
Commentaire de krust le 03/11/2006 14:55:54

C'est vrai qu'il est conseillé d'utiliser des jpeg/png mais si c'est un site local c'est pas la mort d'avoir quelques bitmaps :)

signaler à un administrateur
Commentaire de aera group le 03/11/2006 15:31:28

Il est vrai que les fichiers bitmaps son plus volumineux que les jpeg ou les png, or ici, le programme ne permet que d'entrer une image et donc permet d'avoir une page pas trop loude à chager même si il y a une image .bmp. Initialement, ce programme à été consur pour des personnes ne sachant pas forcément très bien jongler entre les différants formas d'images et donc, j'ai inclus les fichiers bitmaps car ils font partient des plus courrants (à mon avis ; en tout cas, c'est le forma d'image que j'ai le plus sur mon PC). Mais rien ne vous empèche de modifier mon code à votre guise ci le forma bmp vous dérange telement !

_____________
Aéra group

signaler à un administrateur
Commentaire de midnnight le 06/11/2006 13:46:15

bonjour, je n' ai pas du tout comprendre, j'ai copié collé ton script dans mon éditeur web sans aucun résultat, ce n'est peut être pas pour les débutants, mais c' est pas vraiment bien expliqué non plus (lol)si quelqu' un a compris, n'hésitez pas à donner un éclairage sur le fonctionnement et la façon de se servir de ce script, peut être d'autres en profiteront aussi...Merci.

signaler à un administrateur
Commentaire de aera group le 06/11/2006 18:15:27

Ce programme, n'est pas un programme html, c'est un programme PYTHON, qui une fois lancer (il faut bien entendu avoir instaler Pythons sur son PC ainci que la bibliothèque WxPython), affiche une fenetre. Tu choisi les obtions, et tu clique sur le bouton "Créé le fichier". Le programme créra un fichier *.html sur ton dique dure.

signaler à un administrateur
Commentaire de aera group le 08/11/2006 12:18:20

Pour les personnes qui ne souhaite que le script de la page html

____________________________________

<HTML><HEAD>
<TITLE>Titre de la page</TITLE>
</HEAD><BODY><DIV ALIGN="center">

<IMG SRC="Image1.png">

<bgsound src="Son.wma" loop="1">

<H2>Ligne 1</H2>
<P>Ligne 2</P>
</FORM>
</DIV></BODY></HTML>

_____________________________

Bien entendu, if faut que l'image "Image1.png" et le fichier son "Son.wma" soit dans le même dossier que la page html.

______
Aéra group

signaler à un administrateur
Commentaire de nicoSogAmiens le 26/04/2007 11:37:35

bonjour,
merci pour le code, l'IHM est sympa.
Dit moi, comment fait tu pour avoir un bel aspect comme ca (boutons bleutés, fond gris et pas marrond...). Quand j'execute ton script sur ma machine c'est moins beau :( , c'est plus style win2000

signaler à un administrateur
Commentaire de aera group le 01/05/2007 12:42:45

Je n'ai jamais utilisé Windows 2000 mais je pense que c'est le même style que  Windows xp (première édition). Là je suis sous Windows xp édition médi center ==> Le style de Windows à été amélioré dans cette version ceux qui me donne cette couleur de font de frame et de bouton. Plusieurs style sont à télécharger sur http://www.crystalxp.net/galerie/fr.cat.3.htm

signaler à un administrateur
Commentaire de xeolin le 27/01/2008 19:19:44 10/10

Tres bonne source !

J'aime beaucoup :)

signaler à un administrateur
Commentaire de aera group le 28/01/2008 09:43:11

Ouai, c'est une petite source marrante. Peut être faudrait-il l'améliorer en essayant de consevoir un petit éditeur de texte !!! Avis au amateur !

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Script Python pour html [ par aera group ] Bonjour, je uis actuelement au chapitre 17 du tutoriel de Gérard Swinnen : Apprendre à programmer avec Python (téléchargable sur http://www.cifen.ulg. Probleme de conception [ par JoeNamat ] Bonjour a vous,Je ne suis pas un tres bon programmeur et j'ai programme une interface graphique en python avec PyGTK. Cette interface graphique interr comment créer un fichier HTML avec Python [ par anwaarber ] salut a tous,j'ai un probl&#232;me lors de la cr&#233;ation d'un fichier HTML avec pythonsurtout quand je fait passer des variables dans le code :def Modifier titre page html [ par miniimoi ] Bonjour,je dois créer un proxy en python pour un projet et il faut que je recupere le titre de la page html et le modifier.Je suis novice dans ce doma Python peut être interpreté par un navigateur comme dans html [ par rabikisa ] Est-ce possible d'interpreter python à partir d'un navigateur si on utilise une base de données gadfly?(comme les pages html quoi...)si possible comme python + objet COM [ par anis50 ] Bonjour a tous, j'ai un petit probleme, c'est que j'ai un objet COM gener&#233; par VC++ donc son interface (.h), j'ai besoin d'appeler les methodes i html [ par MimiEtude ] slt tous le monde!!!pouvez  vous m'expliquer le sens ou bien la fonction de cette instruction?&lt;meta name="MSSmartTagsPreventParsing" content="TRUE" python ou php ? [ par eric35 ] Salut J' hésite entre ces 2 langages ...Avant de choisir l'un ou l 'autre, pouvez vous me donner  à titre d 'exemple, quel serait le code pour lancer Développement d'un logiciel de calculs en Python [ par icornato ] Bonjour à tousIngénieur dans un BE, j'ai développé un programme d'environ 10 000 lignes en VB pour effectuer du calcul d'éléments poutre (calcul matri Librairie graphique vectoriel [ par DoudouBidou ] Bonjour, j'ai depuis quelques jour un projet en t&#234;te, celui de r&#233;aliser un logiciel de saisi de sch&#233;ma &#233;lectrique en python.


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,562 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.