GENERATEUR DE PAGES HTML AVEC MOTS CLEFS ET BALISES META

Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 - 29 juin 2010 à 12:50
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 - 2 juil. 2010 à 07:05
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/51959-generateur-de-pages-html-avec-mots-clefs-et-balises-meta

Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
2 juil. 2010 à 07:05
j'sais pas trop.
viragoloco Messages postés 9 Date d'inscription jeudi 17 décembre 2009 Statut Membre Dernière intervention 25 juillet 2010
1 juil. 2010 à 23:06
ps: à quoi servent les points que l'on reçois sur ce site? Merci
viragoloco Messages postés 9 Date d'inscription jeudi 17 décembre 2009 Statut Membre Dernière intervention 25 juillet 2010
1 juil. 2010 à 23:05
merci bcp! C'est super d'avoir pris de ton temps pour mon codouillage. Lol.
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
1 juil. 2010 à 12:37
En VB.NET je l'ai fait comme cela :

Private Sub Bp_go_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bp_go.Click
Dim fichier_message As String
Dim Form_save As New SaveFileDialog
With (Form_save)
.InitialDirectory = Application.StartupPath 'répertoire sur lequel s'ouvrira la boite
.Title = "Selectionner le chemin et le nom de votre message" 'titre de la barre
.Filter = "Fichiers message(*.html)|*.html" 'filtre, seules les fichiers du soft apparaîtront
.DefaultExt = "html" 'extension par défaut
.OverwritePrompt False 'Message si le fichier existe déjàfalse = ouvrir un fichier existant
.SupportMultiDottedExtensions = False ' je ne veux que cette extension
.FileName = "message à " & Tb_titre.Text 'nom par défaut du fichier

If .ShowDialog() = DialogResult.OK And _
Not (.FileName Is Nothing) Then 'si clic sur OK et nom de fichier <> nothing attribu le
fichier_message = .FileName 'nom du fichier choisi ( avec extension)
' ouverture du fichier trame.html (qui la source avec les textes **xx** et récupération de chaque ligne dans un tableau
Dim lignes_sources() As String = File.ReadAllLines("trame.html")
' création du fichier de destination
Dim fichier_final As New StreamWriter(fichier_message)
' modifie si besoin et écrit chaque ligne dans le fichier final
For Each ligne In lignes_sources
'les Tb sont des textbox, les MTb des maskedtextbox, etc...
If ligne.Equals("**titre**") Then ligne = Tb_titre.Text
If ligne.Equals("**adresse1**") Then ligne = Tb_adr1.Text
If ligne.Equals("**adresse2**") Then ligne = Tb_adr2.Text
If ligne.Equals("**adresse3**") Then ligne = Tb_adr3.Text
If ligne.Equals("**mail**") Then ligne = Tb_mail.Text
If ligne.Equals("**ville**") Then ligne = Tb_ville.Text()

If ligne.Equals("**tel**") Then ligne = MTb_tel.Text
If ligne.Equals("**fax**") Then ligne = MTb_fax.Text
If ligne.Equals("**cp**") Then ligne = MTb_cp.Text

If ligne.Equals("**textedumessage**") Then ligne = RTb_message.Text

fichier_final.WriteLine(ligne)
Next
fichier_final.Close()
End If
End With

End Sub


procédure simple mais qui impose :
-que chaque **xxx** soit sur une seul ligne (plus simple et ne pose aucun soucis en html
-mauvaise gestion des accents (pas de convertion des accent en Html, ni en codage dans le writeline)
Voila de quoi bosser, bonne prog et @ ++
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
1 juil. 2010 à 10:09
tiens j'ai bricolé cela (de tête, donc peut être des erreurs de syntaxe) en plus cela tellement longtemps que je ne fais plus de vb, j'ai peut être un peu mélangé la syntaxe avec du VBA ^^, mais bon cela te servira de piste.
Soit deux fichiers, un qui existe, et un autre que l'on va créer.
Il suffit de lire ligne à ligne en vérifiant pour chacune d'elles s'il faut la modifier ou pas.

'Copie d'un fichier type avec modification de certaine ligne
dim temp_ligne as string
dim ligne as string
Open Fichier_final.htm For Output As #2
Open "C:\Fichier_source.htm" For Input As #1
Do While Not EOF(1)
'lecture d'une ligne
Line Input #1, temp_ligne

'si cette ligne correspond à une zone à modifier alors là modifie

If (temp_ligne Like "*recherche_ligne1*") Then
ligne = "
voici une ligne modifié "
Print #2, ligne

ElseIf (temp_ligne Like "*recherche_ligne2*") Then
ligne = "La ligne est modifié à son tour"
Print #2, ligne

'sinon ce contente simplement de recopier cette ligne
Else
Print #2, temp_ligne
End If
Loop
Close #1
Close #2

++
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
1 juil. 2010 à 07:58
Salut Vb.net ou Vb6 même combat,
Par exemple en recherchant une suite de caractéres et en la remplaçant par tes valeurs, dans le texte html de ton fichier type.
Je n'y ai pas réfléchi plus que ça, mais une chose est sûr, placer le code html dans le code VB n'est pas la bonne méthode. @++
viragoloco Messages postés 9 Date d'inscription jeudi 17 décembre 2009 Statut Membre Dernière intervention 25 juillet 2010
30 juin 2010 à 22:49
tu as raison! Mais comment intégrer ces infos au bon endroit dans la page html déja conçue? Avec des varibles? Mais par quelle méthode? Et j'ai vb 2008 express. Est ce que c.est le .net ? Que possède t-il de mieux que vb6? Merci.
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
29 juin 2010 à 12:50
Salut, c'est que le début du code non ?
Ne penses tu pas qu'il serait plus pratique d'ouvrir directement un ficher type et de renseigner les trois champs de la page ? (plutôt que d'écrire dans le code la trame de la feuille )
Imagine un jour que tu veuilles le changer, ton prog est compilé donc impossible pour l'utilisateur de modifier la trame.
@++ bonne continuation.
Rejoignez-nous