IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Comment stocker un article HTML dans une BDD SQL ?


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2008
    Messages : 55
    Points : 43
    Points
    43
    Par défaut Comment stocker un article HTML dans une BDD SQL ?
    Bonjour à toute la communauté, je me pose une question depuis quelques jours, mes quelques recherches sur le net n'ont pas été si fructueuses, c'est pour cela que je tente ma chance ici.

    Je suis en pleine création de site web, et je voudrait stocker mes article de contenu dans une BDD.

    Or, je ne vois absolument pas comment je vais pouvoir mettre en forme mon HTML, puis le stocker dans la base, ou encore stocke le texte brut dans la base, puis le mettre en forme ensuite, ... sachant que aucun article ne se ressemble, et qu'un article contient une ou plusieurs images, des paragraphes, des listes à puces, etc...

    Je suis en asp.net 2.0, avec C# et SQL Server 2005.


    Merci de votre aide,

    a bientôt ,

    Celas

  2. #2
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut
    Tu devrais poster ton probleme dans le forum C#. Mais déja je peut essayé de te donner un début de solution.
    Je pense que ce que tu devrais faire c'est créer une table artiles dans ta BD avec les colonnes correspondent aux données a enregistrer, ensuite tu y stcoke les données Brut et pour l'affiche tu recupere juste ces données et tu les formates.

    @++
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2008
    Messages : 55
    Points : 43
    Points
    43
    Par défaut
    Merci pour ta réponse

    oui d'accord c'est ce que je pensais, mais comment les formaté lorsque qu'on les récupère brut?

  4. #4
    Membre régulier
    Profil pro
    Responsable informatique
    Inscrit en
    Mars 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable informatique

    Informations forums :
    Inscription : Mars 2005
    Messages : 112
    Points : 94
    Points
    94
    Par défaut
    Bonjour celas,

    1. Tu crées une table (SQL Server >= 2005) contenant un champ du type Varbinary (BLOB) pour pouvoir mémoriser tes fichiers Archive Web (mht)...

    Voir un exemple ici:
    - Stockage de fichiers sous SQL Server, avec un site en ASP .Net:
    http://www.supinfo-projects.com/en/2005/stockfile_fr/

    2. Tu sauvegardes tes fichiers html (article) en format mht, avec IE. Tu choisis le type : "Archive Web, fichier seul (*.mht)" et le codage :"Europe occidentale (ISO)"...

    Voir info ici:
    - MIME Encapsulation of Aggregate Documents, such as HTML:
    http://fr.wikipedia.org/wiki/MIME_En...,_such_as_HTML

    3. Tu utilises le champ du type varbinary de ta table SQL Server pour enregistrer tes fichiers MHT...

    A+

  5. #5
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2008
    Messages : 55
    Points : 43
    Points
    43
    Par défaut
    Waahou, merci Emaluk, ta réponse à l'air super précise, je vais regarder ça de plus près. Effectivement, je charchait BLOB et je le trouvais pas, je savait pas que ça correspondait au type varbinary.

    Je vais essayer tout ça, et merci pour les liens.

  6. #6
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Points : 1 521
    Points
    1 521
    Par défaut
    Les MHT, c'est tout de même moyen pour la restitution.

    Si tu es l'auteur des articles, le plus simple est encore de stocker directement le format HTML (qui n'est que du texte classique) dans un champ de la table. Etant donné qu'à priori on ne connaît pas la longueur maximal d'un article, il va falloir utiliser un champ (SQL Server) de type TEXT (ou NTEXT si il faut prendre en charge les langues style chinois, japonais etc.).

    Reste ensuite toutes les ressources de l'article (images etc.). Elles peuvent être stockées dans un répertoire physique sur le disque ou également dans une table via un champ (SQL Server) de type IMAGE (qui, contrairement à son nom ne stocke pas que des "images" mais tout type de flux binaire).

    Concernant la mise en page, les articles stockées en HTML, ça se passera forcément au niveau des feuilles de style. Il faut donc que tu spécifies une "norme" pour la rédaction des articles (un titre utilise toujours <h1>, un paragraphe utilise toujours <p> et la classe "paragraph" etc.), la feuille de style étant intégrée à la page hôte et non à chaque article.

    Ce que tu cherches à faire, c'est un peu le principe des CMS (Content Management System / Système de Gestion de Contenu). Je te conseille donc de te renseigner sur ce type de logiciels pour voir si il n'en existe pas un qui convienne à ta problématique. Si tu souhaites tout de même développer ta solution "maison", regarder comment les autres fonctionnent peut être source de riches enseignements.

  7. #7
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2008
    Messages : 55
    Points : 43
    Points
    43
    Par défaut
    Merci pour vos éclaircissements, par contre j'avais lu que les types : text, ntext, image seront retirés dans la prochaine version de SQL Server, et qu'il est préférable d'utiliser les types suivants: varchar(MAX), nvarchar(MAX) et varbinary(MAX).

    Source : http://msdn.microsoft.com/fr-fr/libr...SQL.90%29.aspx

    @Kaidan, ton explication à l'air simple, je pensais pas que ça serait si simple, donc je m'en vais tester cela tout de suite.

    La question des CMS avait été abordé, et j'avais décider de ne pas en utiliser. Je vais donc essayer de bricoler un truc moi-même.

    C'est vrai que pour les images, je pensais stocker tout mon article HTML avec les balises <img> <p>, etc. et stocker les images directement dans un dossier image sur le server avec le reste des images des mon site, mais ce n'est pas une bonne idée, si? J'arrive pas bien à prévoir dans le future la maintenance et l'évolution...

    Merci de votre aide.

  8. #8
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Points : 1 521
    Points
    1 521
    Par défaut
    Ils ont toujours l'air d'être là, mais deprecated.

    Enfin bon, effectivement, VARBINARY(MAX) au lieu de IMAGE et VARCHAR(MAX) au lieu de TEXT, ça marche aussi.

  9. #9
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2008
    Messages : 55
    Points : 43
    Points
    43
    Par défaut
    Re bonsoir à tous, effectivement vos réponse m'ont beaucoup aidés, j'ai enfin trouver le moyen de stocker mes articles dans ma BDD, et lorsque je les restitus, il sont bien en forme grâce à la CSS que j'ai fait spécialement pour mes articles (article dans le sens de page de contenu).

    Par contre, je suis à la recherche du composant qui va me permettre de récupérer ces articles un par un. Et si possible suivant le lien du menu sur lequel on a cliqué.

    Le problème c'est que j'ai qu'une table avec 2 champs pour mes articles (un ID et un CONTENU), et je ne vois pas comment afficher l'article demandé sur ma page .aspx.

    de plus j'ai vu que sur certains contrôles de données, on pouvait custômiser nos requetes et y ajouter un HyperLinkfiel, un QueryString, etc... que l'on peut binder sur un ID par exemple.

    C'est un peu flou mais j'amerais pouvoir lier un lien à un ID, et lorsqu'on clique sur un lien de mes menus, ca va chercher dans la base l'article correspondant à l'ID attribué au lien du menu.

    Désolé pour le long message, en plus c'est la fin de la journée, j'espère que vous allez quand même me comprendre.

    Merci d'avance, Bonne soirée,

    Celas

Discussions similaires

  1. Du html dans une BDD SQL
    Par bonuxis dans le forum Struts 1
    Réponses: 1
    Dernier message: 22/01/2010, 15h10
  2. comment passer du code html dans une requette sql?
    Par vinceH31 dans le forum Requêtes
    Réponses: 5
    Dernier message: 23/11/2006, 18h10
  3. Comment afficher un page html dans une apps?
    Par bygui dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 07/06/2006, 10h40
  4. Réponses: 9
    Dernier message: 13/04/2006, 11h40
  5. Comment stocker des mots clés dans une bas Mysql
    Par renofx1 dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 05/01/2006, 00h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo