> Tous les forums > Forum des Webmasters
 Question sur le stockage des données texte
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
midnightblue
  Posté le 21/09/2006 @ 15:24 
Aller en bas de la page 
Petit astucien
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. *µ*

Modifié par midnightblue le 21/09/2006 15:34
Publicité
ti_ouf
 Posté le 21/09/2006 à 18:15 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

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.
midnightblue
 Posté le 21/09/2006 à 19:33 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Quels gros problèmes "surtout dans une base de donnée" ? Merci. *µ*
ti_ouf
 Posté le 21/09/2006 à 20:05 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

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.
midnightblue
 Posté le 21/09/2006 à 20:47 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
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. *µ*
ti_ouf
 Posté le 21/09/2006 à 20:53 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

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.
koala01
 Posté le 21/09/2006 à 23:44 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien
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
ti_ouf
 Posté le 22/09/2006 à 11:58 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

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 ...
Malcolm
 Posté le 22/09/2006 à 12:12 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

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 ...
midnightblue
 Posté le 23/09/2006 à 19:55 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
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. *µ*
koala01
 Posté le 23/09/2006 à 21:08 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien
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]
fleuretta
 Posté le 23/09/2006 à 21:17 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

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]
Malcolm
 Posté le 24/09/2006 à 11:13 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

* à 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.
midnightblue
 Posté le 01/10/2006 à 19:08 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
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. *µ*
fleuretta
 Posté le 01/10/2006 à 19:17 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

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]
Malcolm
 Posté le 01/10/2006 à 20:39 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

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
midnightblue
 Posté le 01/10/2006 à 21:20 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
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. *µ*
Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
8,99 €Lot de 32 piles Philips AA à 8,99 €
Valable jusqu'au 22 Janvier

Fnac fait une promotion sur le lot de 32 piles Philips AA qui passe à 8,99 € au lieu de 15 €.


> Voir l'offre
629 €TV 65 pouces Sony KD-65X7055 (4K UHD, MotionFlow XR 200, HDR, Smart TV) à 629 €
Valable jusqu'au 21 Janvier

Leclerc fait une promotion sur la TV 65 pouces Sony KD-65X7055 (4K UHD, MotionFlow XR 200, HDR, Smart TV) qui passe à 629 € au lieu de 720 €.


> Voir l'offre
399 €Smartphone Samsung Galaxy S20 FE 128 Go à 399 €
Valable jusqu'au 20 Janvier

Electro Dépot fait une belle promotion sur le smartphone Samsung Galaxy S20 FE qui passe à 399 €. Avec le Samsung Galaxy S20 FE, plongez au coeur de vos divertissements grâce à son sublime écran Infinity AMOLED de 6.5" 120 Hz à résolution FullHD+ de 2400 x 1080 pixels. De plus, avec son processeur SnapDragon 865 à 8 coeurs épaulé par 6 Go de RAM et d'un espace de stockage de 128 Go, installez toutes vos applications favorites facilement et sans contrainte. Quant à l'appareil photo principal à triple capteur 12+12+8, ultra performant et la possibilité d'enregistrer des vidéos en 8K, vous ne verrez plus jamais votre smartphone de la même manière. Le téléphone tourne sous Android 11 en français dès le premier démarrage. 


> Voir l'offre

Sujets relatifs
Question pour un pro de base de données
Question zone texte avec lien href
editeur TinyMCE grande largeur texte dans page
Texte dans tableau
question sur les formulaires
Sauver la base de données
Message mail lors d'une réponse à une question
Bulle de texte dans une zone cliquable
base de données et symboles
restaurer une base de donnees sql
Plus de sujets relatifs à Question sur le stockage des données texte
 > Tous les forums > Forum Forum des Webmasters