begin process at 2008 07 25 10:04:34
1 216 107 membres
84 nouveaux aujourd'hui
14 180 membres club

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é: 4 686 / 267

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

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.
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

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
  • 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

Pub



Appels d'offres

Creation portail video
Budget : 3 000€
Site de e-commerce
Budget : 5 000€
Demande de devis pour ...
Budget : 7 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Téléchargements

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

Boutique

Boutique de goodies CodeS-SourceS