> Tous les forumsForum des Webmasters

 Question sur le stockage des données texte
Statut du sujet : NON RESOLU Imprimer
 midnightblue
  Posté le 21/09/2006 @ 15:24  
 Petit astucien

211 Messages
Soit un formulaire avec une zone de texte et des BBcodes à disposition du public pour enrichir le texte. Voici la question. Aprés validation d'un formulaire, mieux vaut stocker les données texte sous leur forme HTML aprés transformation des balsies BB codes en balises HTML...
ENREGISTREMENT : > Validation du formulaire > transformation des balises BBcodes en balises HTML > Stockage du texte en HTML
...avec en sortie un affichage direct en HTML.
AFFICHAGE : > Extraction des données > Affichage du texte HTML
../.. Ou bien enregistrer avec les balises BBcodes...
ENREGISTREMENT : >validation du formulaire > stockage des données textes avec les balises BBcodes
...et traduire en sortie affichage les balises BBcodes en balises HTML
AFFICHAGE >extraction des données > transformation des balises BB codes en balises HTML > Affichage du texte HTML
Qu'en pensez-vous ? Merci. *µ*
 Afficher le profil de midnightblueEnvoyer un message privé à midnightblue
 
 
Publicité
 ti_ouf  Posté le 21/09/2006 à 18:15  
Astucien


4767 Messages
il vaut mieux enregistrer le bbcodes, d'ailleur dans le principe, l'html intervient qu'uniquement lors de l'affichage. autrement dit, tu codes avec du bbcode, tu enregistre le bbcode, et tu parses le bbcode pour en donner de l'html. çà peut éviter des gros problèmes surtout dans une base de donnée.
Afficher le profil de ti_ouf Voir la configuration de ti_oufEnvoyer un message privé à ti_ouf
  Revenir en haut de la page
 midnightblue  Posté le 21/09/2006 à 19:33  
Petit astucien

211 Messages
Quels gros problèmes "surtout dans une base de donnée" ? Merci. *µ*
Afficher le profil de midnightblueEnvoyer un message privé à midnightblue
 Revenir en haut de la page
 ti_ouf  Posté le 21/09/2006 à 20:05  
Astucien


4767 Messages
bin j'ai déjà eu l'expérience, en fait. voilà si tu stockes tout en html dans une table, et que par exemple tu gères ton site par une panel d'administration en ligne. tu affiches donc le contenu de ta table dans un formulaire par exemple (si tu veux modifier ton code ensuite etc...) et imagine donc ce que peux faire un contenu html dans un code html ... exemple: ton code contient un formulaire, un texte, et des images tu affiche ce contenu dans un formulaire il y a donc un formulaire dans un formulaire, le navigateur va interpreter ton code html etc... il est plus simple de manipuler un contenu sans code interpretable par le navigateur, et le rendre interpretable qu'uniquement lors de l'affichage.
Afficher le profil de ti_ouf Voir la configuration de ti_oufEnvoyer un message privé à ti_ouf
  Revenir en haut de la page
 midnightblue  Posté le 21/09/2006 à 20:47  
Petit astucien

211 Messages
Merci Ti'Ouf pou ton avis. La seconde solution parait effectivement souhaitable. Elle permet de changer relativement facilement la charte graphique, et ne nécessite pas une fonction de traduction inverse BBcodes>HTML en retour édition. Cela au niveau de la commodité. Mais au niveau des ressources, qu'en est-il ? Considérons ce fil, il comprend 3 messages. Donc 3 enregistrements. Et 27 lectures, donc 27 affichages. La première hypothése nécessite donc seulement 3 traitements BBCodes>HTML contre 27 dans la seconde. Sur les sites à forte densité de lecture, la seconde solution n'est-elle pas souhaitable même si elle plus compliquée à mettre en oeuvre et lourde à manoeuvrer si on veut changer le design. En quelque sorte, dans mon esprit, cela revient à faire une sorte de semi-cache pour avoir le gros des données ( = le texte) immédiatement disposibles en HTML. Les autres éléments , l'heure, la date, le pseudo, etc...restant au format données. Et d'économiser les appels à la fonction de codage. J'aimerai donc avoir une avis pointu sur la question en terme de ressources utilisées. Merci d'avance. *µ*
Afficher le profil de midnightblueEnvoyer un message privé à midnightblue
 Revenir en haut de la page
 ti_ouf  Posté le 21/09/2006 à 20:53  
Astucien


4767 Messages
tu ajoutes une fonctions qui parse le contenu avant chaque affichage, donc oui le temps de réponse est plus long que si tu traitais en brut. Maintenant faudrait voir la différence, et puis tous les forums fonctionnent ainsi, c'est que l'utilité est telle.
Afficher le profil de ti_ouf Voir la configuration de ti_oufEnvoyer un message privé à ti_ouf
  Revenir en haut de la page
 koala01  Posté le 21/09/2006 à 23:44  
Astucien

4715 Messages
Salut, En transformant le html directement dans la base de données (parsing du bbcode avant enregistrement) le gros problème surviendrait, en plus, de devoir re-transformer les balises venant du bbcode en bbcode en cas d'édition du message… de plus, le parsing ne prend pas énormément de temps s'il a été correctement programmé… Hors, tout compris, au moment où j'écris, il n'y a que 8 balises bbcode sur l'ensemble des messages du tread. Et il est relativement rare, quand on y pense bien (et qu'il n'y a pas un koala01 qui vient expliquer un bout de code [langue]) que tous les posts aient ne serait ce qu'une balise bbcode ou de voir un post particulier en contenir tant que la transformation soit réellement le facteur qui ralentira le forum… Sans compter que, de manière générale, il est préférable d'éviter l'enregistrement de HTML dans une base de données, pour un probleme éventuel de charset, et pour les problèmes de sécurité que cela peut représenter. Le mieux, selon moi, est donc de commencer d'office par un htmlentities (histoire d'etre sur que personne ne s'amuse à mettre un truc du genre de <script langage="javascript"> while(1) alert('je t\\'ai eu'); </script>, ou, du moins, que ca n'ai aucun effet [clindoeil]) avant l'enregistrement du message dans la table, et de tranfsormer le bbcode à l'affichage
Afficher le profil de koala01 Voir la configuration de koala01Envoyer un message privé à koala01
  Revenir en haut de la page
 ti_ouf  Posté le 22/09/2006 à 11:58  
Astucien


4767 Messages
et puis en restant le plus simple possible, la différence la voici : code html = <img src="monimage.jpg" alt="mon image" /> code bbcode = [img)monimage.jpg[/img] plus court en terme de caractères, donc plus léger pour une page entiere ...
Afficher le profil de ti_ouf Voir la configuration de ti_oufEnvoyer un message privé à ti_ouf
  Revenir en haut de la page
 Malcolm  Posté le 22/09/2006 à 12:12  
  Astucien


7269 Messages
dans mon script en dessous, c'est ce que je fais aussi : je stocke les newsletters des gens en format BBCode dans leur base de données... Outre le gain de place, ça permet surtout : - pour eux d'avoir un code plus facile à taper - d'avoir un code qui leur semble plus léger et plus agréable visuellement - pour moi de ne pas avoir à faire des conversions html <=> bbcode tout le temps... Et puis dans le cas d'un forum, ou d'une page affichée sur le web, c'est "à la volée" que tu génères l'HTML correspondant, ça ne coute pas bcp de ressources serveur ...
Afficher le profil de Malcolm Voir la configuration de MalcolmEnvoyer un message privé à Malcolm
  Revenir en haut de la page
 midnightblue  Posté le 23/09/2006 à 19:55  
Petit astucien

211 Messages
Hello Malcolm, J'espère que tu vas bien... Parmi autres brouillons, j'ai fait aussi une étude pour remplacer les BBcodes...* à la place des crochets. Bref des signes non directionnels. *gras*Texte*/gras* à la place du classique [gras]Texte[/gras] Appréciation, louange, critique, contre-indication...svp. Merci. *µ*
Afficher le profil de midnightblueEnvoyer un message privé à midnightblue
 Revenir en haut de la page
 koala01  Posté le 23/09/2006 à 21:08  
Astucien

4715 Messages
Je vois une contre indication majeure à l'utilisation de l'étoile pour les balises… Il est en effet pratique courrante de l'utiliser pour mettre un mot ou l'autre en emphase sans avoir forcément envie de passer par la balise (bbcode ou html) "bold" ou "em"… Si tu relis certains de mes posts, tu verra que je le fais régulièrement [clindoeil] D'ailleurs, certains logiciel de courrier electronique font apparaitre le texte entre étoile en gras, et ce, meme si le mail a été envoyé au format texte only… Autrement, tu n'es strictement obligé à rien quand tu met ton BBcode au point… La seule précaution à prendre, c'est de t'assurer que:
  1. le caractère signalant l'usage du BBcode soit rarement utilisé
  2. que le caractere signalant le BBcode soit accessible sur l'ensemble des jeux de caractères
En effet, n'oublie pas qu'on a parfois des surprises lorsque l'on passe par une base de données (encodage "latin"(avec les caractères accentués) du texte à insérer dans la base de données utilisant le jeu de caractères anglo-saxons (sans caractères accentués)) ou autres c[censure]ries du genre [clindoeil]
Afficher le profil de koala01 Voir la configuration de koala01Envoyer un message privé à koala01
  Revenir en haut de la page
 fleuretta  Posté le 23/09/2006 à 21:17  
Astucienne


2536 Messages
midnightblue a écrit :
Hello Malcolm, J'espère que tu vas bien... Parmi autres brouillons, j'ai fait aussi une étude pour remplacer les BBcodes...* à la place des crochets. Bref des signes non directionnels. *gras*Texte*/gras* à la place du classique [gras]Texte[/gras] Appréciation, louange, critique, contre-indication...svp. Merci. *µ*
Salut midnigthblue[hello] Je sais très bien que tu as fait et que tu fais tes scripts principalement en utilisant les * au lieu des [] pour les BBcodes. Même si j'ai un script que tu as fait principalement pour moi je dois te dire que personnellement je préfère les BBcodes avec les [] que les *. Je trouve ça mêlant les * parfois et moins "clean" au coup d'oeil. De plus je trouve que l'utilisation des [] fait plus pro. C'est mon opinion et mon goût personnel. Cependant cela n'enlève en rien à ton script. Merci[fleur]
Afficher le profil de fleuretta Voir la configuration de fleurettaEnvoyer un message privé à fleuretta
  Revenir en haut de la page
 Malcolm  Posté le 24/09/2006 à 11:13  
  Astucien


7269 Messages
* à la place des crochets, non, à titre perso je n'accroche pas. Je me sers des étoiles pour les multiplications ou, comme le dit koala, pour donner une certaine intonation à certains mots. D'autre part, si moi de mon coté j'ai gardé les crochets, c'est parce que les gens qui cherchent mon script sont ss doute passés pour la plupart par des fora et que sur les fora, le BBCode est fait en utilisant ces crochets... Donc ne pas trop perturber les uilisateurs.
Afficher le profil de Malcolm Voir la configuration de MalcolmEnvoyer un message privé à Malcolm
  Revenir en haut de la page
 midnightblue  Posté le 01/10/2006 à 19:08  
Petit astucien

211 Messages
Je vous remercie de vos réponses. Un peu dur à mon avis à l'encontre des *. L'emphase sur g, i et url, je veux bien...
De plus je trouve que l'utilisation des [] fait plus pro.
Tout à fait Fleuretta, et quand en plus, çà ne marche pas et qu'on vient chercher la réparation sur PCastuces, là cà fait pro de chez pro. *µ*
Afficher le profil de midnightblueEnvoyer un message privé à midnightblue
 Revenir en haut de la page
 fleuretta  Posté le 01/10/2006 à 19:17  
Astucienne


2536 Messages
midnightblue a écrit :
Je vous remercie de vos réponses. Un peu dur à mon avis à l'encontre des *. L'emphase sur g, i et url, je veux bien...
De plus je trouve que l'utilisation des [] fait plus pro.
Tout à fait Fleuretta, et quand en plus, çà ne marche pas et qu'on vient chercher la réparation sur PCastuces, là cà fait pro de chez pro. *µ*
Bonjour midnightblue Pourquoi les BBcode standard qui sont [] fonctionnent partout et que là dans ton script cela ne fonctionnerait pas?[confus] Je sais bien que je ne suis pas une pro de l'informatique et du codage mais partout où je vais et que j'ai des liens ou des images à mettre ou mettre en gras etc... c'est toujours des [] qui sont utilisés. Alors pourquoi ça ne fonctionnerait pas dans ton script? Merci[fleur]
Afficher le profil de fleuretta Voir la configuration de fleurettaEnvoyer un message privé à fleuretta
  Revenir en haut de la page
 Malcolm  Posté le 01/10/2006 à 20:39  
  Astucien


7269 Messages
midnightblue a écrit :
Je vous remercie de vos réponses. Un peu dur à mon avis à l'encontre des *. L'emphase sur g, i et url, je veux bien...
De plus je trouve que l'utilisation des [] fait plus pro.
Tout à fait Fleuretta, et quand en plus, çà ne marche pas et qu'on vient chercher la réparation sur PCastuces, là cà fait pro de chez pro. *µ*
Où est le pb avec l'emphase ? Tu as posé une question, me concernant je t'ai expliqué pourquoi je n'aimais pas les étoiles, la raison toute première et dépassant de loin les autres étant que pour le commun des mortels sur les scripts en général, la mise en forme se fait par un système de lettres délimitées par des crochets. Dans le même genre, pourquoi préférer les étoiles aux traits d'unions ? Et aux tirets ? je ne me vois pas écrire _b_texte gras_/b_ remarque, sur le principe même, point de vue codage, que ça soit %, $, _, *, {, [ ou ( on s'en moque, tant qu'on définit une certaine syntaxe ... Plus pro, je ne dirais pas ça ... Car ma phrase précédente montre bien que, techniquement parlant, il n'y a pas plus d'avantage à mettre des [ que des * ou des £ mais sur un plan pratique d'utilisation courante, il est vrai que les [ ] sont les plus souvent rencontrés ... EDIT : je suis allé voir sur wikipedia, l'url : http://fr.wikipedia.org/wiki/Bbcode montre que le BBCode est défini par des crochets... Je ne dis pas que le wiki soit parole d'évangile, mais visiblement il reprend la plus grande probabilité de syntaxe qd on rencontre ces fameux délimiteurs de texte...

Modifié par Malcolm le 01/10/2006 20:48
Afficher le profil de Malcolm Voir la configuration de MalcolmEnvoyer un message privé à Malcolm
  Revenir en haut de la page
 midnightblue  Posté le 01/10/2006 à 21:20  
Petit astucien

211 Messages
C'est Koala01 qui avait parlé de l'emphase...Ma réponse succincte n'était peut-être pas assez explicite; je voulais dire que, même si sa remarque est judicieuse, l'emphase mise sur g, sur i, ou sur url me paraissant être d'un usage peu courru dans la langue française, serait-ce de la netlangue. Donc, toute emphase mise à part, les astérocodes ne me posent justement pas trop de problémes. Quoiqu'il en soit, puisque l'on doit utiliser des caractères typo comme métacaractères, aucune solution ne sera jamais parfaite. Sinon je suis globalement d'accord avec toi. L'usage général est une trés bonne raison d'utiliser les crochets. Il n'empêche que sur des scripts où les codes doivent être mis manuellement le signe * permet d'aller plus vite quand on a pas un diplome de sténodactylo. C'est positivement plus fastoche : des frappes directes au lieu de (ALT GR + touche 1 pour l'ouvrant puis ALT GR + touche 2 pour le fermant). Cela a d'ailleurs été l'élément déterminant de l'élaboration de ces Astérocodes sur un script qui date de 2003. Pour l'anecdote et d'aprés l'expérience auprés des utilisateurs de mes scripts, tu seras surpris d'apprendre que beaucoup ont regretté le passage des * au []. Puisque j'ai fini par respecter en général l'usage répandu des BBcodes avec []. Notons aussi qu'à présent l'usage quasi-généralisé de JavaScript pour insérer automatiquement les balises de part et d'autre d'une sélection change la donne au niveau ergonomie. Bien à toi, Malcolm et bonne semaine. *µ*
Afficher le profil de midnightblueEnvoyer un message privé à midnightblue
 Revenir en haut de la page
Haut de la page 
Inscrivez-vous !
- Posez vos questions

- Résolvez vos problèmes

- Aidez les autres

- Participez et créez vos discussions

- Dialoguez en privé avec d'autres membres

- Suivez vos sujets préférés

- Affichez les signatures des membres

TOUT EST GRATUIT !

Je crée mon compte




Vous avez besoin d'aide ?
Des centaines d'experts sont à votre disposition sur les forums PC Astuces pour vous aider gratuitement, 24h/24, 7j/7.

Les derniers sujets résolus !
 

 > Tous les forumsForum des Webmasters

 
Forum PC Astuces© 1997-2008 WebastucesAller en haut de la page