Base de données ou fichiers ?

[Résolu]
Signaler
Messages postés
403
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
31 août 2008
-
Messages postés
403
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
31 août 2008
-
Bonjour,
Je voudrais développer un site d'une cinquantaine de page environ (mais amené à grandir). La pluspart des pages de ce site sont statiques (simple html + css) mais les menus sont généré dynamiquement à partir d'un sitemap et j'aimerais ajouter aussi un moteur de recherche sur chaque page. Ce site sera de plus disponible dans 4 langues.

Que pensez vous qui soit le mieux : stocker les contenus html dans une base de données ou créer pour chaque page 4 fichiers .aspx (un pour chaque langage) ?
Quels sont les avantages et inconvénients des 2 solutions. L'impression que j'en ai est que la seconde méthode est bien plus facile à mettre en oeuvre. Par contre pour la recherche sur le site ça risque d'être plus long de parcourir des fichiers plutôt que des lignes d'une table de la base de données...
Qu'en pensez-vous ?

merci d'avance pour vos conseils.

Mathmax

10 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Sur une page web en mode design va dans tools > generate local resources ... tout ce qui est expliqué par le dernier point de l'article est fait automatiquement :-) mais en utilisant une bdd tu n'utilises pas les resources donc ca t'es inutile.

<hr />Cyril - MVS - MCP
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
4 fichiers .aspx ??? ah non ! je te conseil de regarder le fonctionnement de la globalization ! :-)

sinon ce serait sans hésiter une seule page + bdd + url rewriting c'est un poil plus compliqué au début mais aprés c'est bonheur :)

<hr />Cyril - MVS - MCP
Messages postés
403
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
31 août 2008

Merci pour ta réponse.
Cet articleexplique le fonctionnement de la globalization je crois. Il propose quatre solutions pour internationaliser un site. Si j'en crois cet article, dans mon cas c'est la première solution qui convient le mieux parce que j'ai pas mal de texte à traduire sur chaque page. En fait mon site est déjà en ligne, mais il est construit à l'aide d'un CMS qui ne me convient pas et j'aimerais le refaire avec ASP.net. Au vu du contenu, penses-tu également que la première solution soit la plus satisfaisante ? Evidemment, j'utiliserai des masterpages pour définir l'allure globale de mes pages et y placer le menu dynamique, le textbox de recherche...

Sinon pour l'utilisation d'une base de données, aurais-tu un article/tutorial qui explique un peu comment faire ? Je devrais stocker mes html directement dans la base de données et les insérer dynamiquement dans mes pages .apsx ? Pourquoi dis-tu que ça me simplifiera la vie à l'avenir ?


En fait je cherche aussi la solution la plus facile à mettre en oeuvre
sachant que mes html dans les différentes langues sont déjà écris. Mais
je ne voudrais pas non plus qu'un choix prit par facilité me ferme des
portes par la suite... Que me conseils-tu ?

Mathmax
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Attention l'article est pour .net 1.x il y a eu des simplifications pour .net 2.0... Tout dépend du temps que tu disposes si faut que ca aille rapidement vite ben faire des copiers/coller des fichiers etc... est une solution envisageable, si t'as un peu de temps devant toi et surtout si tu souhaites rajouter de nouvelle page facilement je passerais par une bdd + un editeur wisiwig genre TinyMCE avec une couche d'url rewriting pour avoir des url parlantes.

Pour la solution avec une bdd tu fais UNE fois la page qui prend en paramètre l'id de l'article + la langue tu vas dans la bdd puis tu affiches le HTML tel quel. C'est relativement simple à faire et je n'ai pas de tuto particulier, il suffit de savoir acceder à une bdd et d'afficher du HTML :p et ca simplifies la vie à l'avenir si tu dois rajouter des pages régulierement.

<hr />Cyril - MVS - MCP
Messages postés
403
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
31 août 2008

Désolé mais je ne comprends pas trop pourquoi c'est plus simple avec une base de donnée. Il doit y avoir quelque chose qui m'échappe (peut-être justement ces simplifications apportées par .net 2.0 dont tu parles ?)
Dans les 2 cas de figures, je crée des masterpages pour tout ce qui est commun à mes pages ( par exemple su mon site tout la partie du haut (menu, logo, grandes images...) et la partie du bas (textbox de recherche + copyright)). Il reste la partie centrale qui est à remplir avec du html dans une des langues. Pour écrire ces html, je vais devoir de toute façons créer ces fichiers (avec un éditeur comme Dreamweaver). Après que j' insères ces contenus dans une base de donnée où que je les mette dans des contentPlaceHolder, je ne vois pas trop de différence au niveau du boulot que ça génère...
Par contre ce qui m'inquiète plus, c'est le recherche sur le site. Si elle doit se faire sur des fichiers, je suppose que ça sera plus lent que de rechercher dans une base de données (surtout si plusieurs utilisateurs recherchent en même temps), mais à quel point ? Et peut-être existe t-il des solutions proposées par ASP.net ?

Mathmax
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Moi je trouve beaucoup plus simple de mettre le texte dans une bdd que de créer tout plein de page, car dans ton cas pour modifier il faut recompiler le site puis republish etc... alors que dans une base de données tu met un wisiwig et c'est partis, et pusi tu peux en plus rajouter autant de pages que tu veux sans devoir toucher au code ...

pour ce qui est de la recherche, ben la aussi y'a pas photo il te faut une base de données (tu peux jouer avec le truc d'indexing de windows mais je connais pas trop et puis c'est compliqué je crois :)) Bref, faire une page qui récuperer le code HTML suivant un ID et une langue dans une bdd et très simple ! le plus compliqué reste le wisiwig pour créer/modifier des pages en ligne :)

En tout cas je vois pas ce qu'il y a de compliqué

<hr />Cyril - MVS - MCP
Messages postés
403
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
31 août 2008

ok, mais qu'appelles-tu le wisiwig ? S'agit-il d'un éditeur "what you see is what you get" tel que Dreamweaver ? Pourquoi est-il en ligne ?
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
oui c'est bien ca, un wisiwig en ligne qui permettra de modifier directement le contenu de tes pages :) regarde du coté de tinymce ou de freetextbox. Cela te permettra de créer/modifier ton site directement en ligne.

<hr />Cyril - MVS - MCP
Messages postés
403
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
31 août 2008

ok merci. Je connais l'éditeur freetextbox. Il est utilisé dans dotnetnuke, le CMS que j'utilise actuellement sur mon site.
Tu parlais de simplifications apportées dans .net 2.0 au niveau de globalization. Pourrais-tu préciser quelles sont-elles ?

Mathmax
Messages postés
403
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
31 août 2008

Merci beaucoup pour tes conseils. Il ne reste plus qu'à mettre en place tout ça...

Mathmax