|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : août 2007 Messages : 55 ![]() |
Bonjour,
je dois mettre en place un sytème de création de pages HTML via un back-office. la question que je me pose, c'est, s'il est préférable de stocker ceci sur une base mysql ou dans un répertoire commun à la racine du site ? la question est sur le niveau de performance et sécurité. chaque page pourra être créée et modifiée si nécessaire. au niveau du site, c'est un modèle vierge fait avec des variables où tout est stocké en base (nom, adresse, mail, ...). en clair, avec le domaine, je connais quel est le client et je rempli le site avec les variables stockés dans la base. Merci. |
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() Inscription : janvier 2010 Messages : 59 ![]() |
La structure principale de tes pages en fichiers et le contenu en bdd.
|
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : août 2007 Messages : 55 ![]() |
Excuse moi je n'ai pas tout compris...
|
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : septembre 2010 Messages : 1 239 ![]() |
Dans mysql ce sera plus souple et puis tout ton site est fait de cette manière apparemment. L'autre avantage est que tu pourras faire des recherche sur les données.
Au niveau des performances ce sera largement suffisant bien qu'un système de fichier peut être un peu plus rapide mais ne s'envisage que pour des cas particuliers.
__________________
- Réalisations - Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical. |
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : août 2007 Messages : 55 ![]() |
Effectivement je penchais plus sur un système en base de données, mais je me demandais si ça ne serait pas trop lourd à charger et si les moteurs de recherche voyaient les pages de la même facon.
un champ de type "text" est le plus adapté non ? |
|
|
00
|
|
|
#6 | ||
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 707 ![]() |
Citation:
Les mettre dans des fichiers peut être tout aussi bien. Mais ça dépend, car à mon sens, le choix de mettre des contenu dans une Bdd vient des manipulations qui sont à faire dessus, et c'est principalement le langage SQL qui fera la différence. S'il y a des recherche par exemple dans ces contenus, des récupérations avec des tri très variés voir complexe, le SQL est vraiment efficace. Si ces opérations sont rares ou simplistes, les mettre dans des fichiers peu suffire. Disons qu'il faudrait se poser la question de manière inverse : Est qu'il sera possible de tout faire sans tomber dans d'énormes code Php complexes si c'est dans des fichiers ? A coté de ça, et admettons qu'on décide de mettre ces contenus dans la Bdd, rien n'empêche que pour des raisons d'optimisation de les mettre en cache en parallèle dans des fichiers. Ca fait doublon certes, ça demande de le gérer, mais ça se fait couramment et c'est plutôt efficace. En gros : En consultation (ou opérations simples) on exploite les fichiers en cache, et tout ce qui est de la recherche, tries, modifications, etc ... on exploite la Bdd. Bref, comme tu peux voir il y a des solutions. Citation:
C'est à toi de faire le choix. Vois du coté de MySQL : http://dev.mysql.com/doc/refman/5.0/...uirements.html
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
||
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Inscription : août 2007 Messages : 55 ![]() |
voici quelques précisions :
entre 4 et 6 pages sont à créer par site. pour le moment je fais tout en manuel (récupération des pages au format word et formatage) et je transfère sur le site dans le répertoire unique au client. donc tout ça est un peu long et je souhaite automatiser tout cela pour que ce soit le client lui même avec un minimum de formation qui le fasse. j'utilise tinymce comme éditeur texte. le contenu de ces pages, n'est que du code html (titres, texte en forme, liste, liens, images ?...). d'ailleurs pour les liens interne au site, je pensais utiliser une regexp à la génération de la page pour afficher le lien. exple : remplacer {#lien_contact#} dans le code de la page par contacter-societe-xxx.html (utilisation aussi de l'url rewriting) normalement une fois la page créée, il n'y a pas de modif à faire (sauf cas exceptionnel => faute d'orthographe par exple). il n'y a pas de moteur de recherche sur le site. à chaque page je remonte les infos pour afficher les données propres au site. avec ça j'espère que vous allez un peu plus m'aiguiller. Merci pour les infos. |
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 707 ![]() |
Avec ce que tu dis, j'ai tendance à dire que ça n'aurait finalement peu d'importance.
Bdd ou fichiers, fait selon ce qui te semble le mieux. L'une ou l'autre, c'est loin d'être irrémédiable, irréparable. S'il y a un mauvais choix par exemple, il n'est pas si énorme que ça de faire une routine de code Php pour tout récupérer et les mettre dans des fichiers, ou inversement. Puis déposer un contenu dans une Bdd ou dans un fichier, c'est presque pareil. Pour que les utilisateurs crées des liens, car tu as apparemment de la réécriture, penche toi un peu plus sur "tinymce", il est assez évolué pour y apporter sa touche perso. Comme par exemple rajouter un bouton, qui lui en cascade peu appeler un Ajax pour récupérer une liste d'articles existants, et leur lien réécrits. C'est pas simple, faut connaitre un peu JS/Php, mais ça évite des regex, et c'est plus ergonomique sans compter on diminue les erreurs des utilisateurs/éditeurs. Idem pour l'ajout d'images. D'ailleurs, rajouter un champ dans la table des articles contenant l'URL réécrite va facilité ça. Mais c'est une idée comme ça.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
|
|
00
|
|
|
#9 |
|
Invité régulier
![]() Inscription : août 2007 Messages : 55 ![]() |
en fait j'essaie de me convaincre à travers tout ça d'utiliser une base données
mes pages sont du texte informatif pour info. au niveau de la réécriture le début du lien permet de pointer sur la bonne page (je récupère le 1er mot) : exple : contacter-societe-nom-ville.html redirige vers contact.php pour les liens je comptais ajouter dans tinymce sur la popup "ajout de lien" une liste déroulante avec les liens vers les pages interne (moins de 10). en base ceci enregistrerais par exemple {#lien_contact/texte lien#}. ensuite dès que la page serait demandée j'utiliserais une regexp pour afficher Code :
<a href="contacter-societe-nom-ville.html">texte lien</a> |
|
|
00
|
|
|
#10 |
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 707 ![]() |
Code :
<a href="contacter-societe-nom-ville.html">texte lien</a> Qu'est ce qui t'empêche de générer ce code html ? En somme, pourquoi ne pas appliquer les mêmes conventions de réécriture de suite sur les 10 pages que tu compte proposer ? Au pire, applique le Regex juste avant insertion, donc après, enregistrer le code avec lien en pure HTML, tout le contenu sera du HTML. Le Regex s'appliquera qu'une seule fois (création ou modification) alors que de l'autre le Regex s'appliquera autant de fois qu'il y aura d'article lu par les utilisateurs.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
|
|
00
|
|
|
#11 | |
|
Invité régulier
![]() Inscription : août 2007 Messages : 55 ![]() |
Citation:
en fait, les liens vers toutes les pages sont dynamiques. c'est à dire que partout sur le site dès que je veux faire un lien vers la page contact.php par exemple j'appelle une fonction lien('nom-page') qui me retourne le lien à afficher. ex : Code :
<a href="<?php echo lien("contact"); ?>">Nous contacter</a> en imaginant que dans dans ma fonction je décide de modifier le lien contact en me disant par exemple que je ne veux plus mettre la ville dans le lien....vu que le lien sera écrit en dur en Bdd, il risque de ne pas marcher. à moins que je rende plus souple ma réécriture d'url... |
|
|
|
00
|
|
|
#12 | |
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 707 ![]() |
Citation:
Ce serait donc plutôt au niveau de la Bdd qu'il faudrait intervenir pour corriger les liens. A la limite, et si ce genre de truc arrive fréquemment, il serait peut être intéressant de parcourir les articles dans la Bdd, et rechercher les liens à pour les modifier, et ça d'une traite, et 1 seule fois. C'est de la maintenance, ni plus ni moins. Là encore on fera l'économie de fonctions/Regex qui s'appliqueraient sans cesse. Faut pas perdre de vu aussi que les liens Html obéissent à des règles strictes (<a href="URL"></a>) qui peuvent donc être retrouvés par un Regex, au même titre que t'as convention ({#...#}). De même que le SQL a aussi une fonction Regex, donc dans l'absolu ça peu se gérer directement à se niveau là plutôt que Php. Si tu crée comme ça des fonctions pour modifier tel ou tel lien, ça va vite être un sacré problème pour les gérer (pour ne pas dire bordel Ceci dit, je ne suis pas sûr qu'on se comprenne.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
|
|
|
00
|
|
|
#13 | |
|
Invité régulier
![]() Inscription : août 2007 Messages : 55 ![]() |
Citation:
disons que j'essaie de mettre en place un système assez souple... donc à ma place tu mettrais les liens en dur en bdd ? quitte par la suite à faire de la maintenance en base...ce qui peut se faire aisément c'est vrai. |
|
|
|
00
|
|
|
#14 | |
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 707 ![]() |
Citation:
Théoriquement, une page (une URL en faite) est unique. Si une page n'existe plus, ou quelle change, c'est le contenu qui devrait être changé. Faudrait juste éviter que ça change tous les 4 matins. D'ailleurs, changer une URL n'est pas ce qui a de mieux à faire, car si une URL (une page) est référencée par un moteur de recherche ou que quelqu'un la copie pour y faire référence dans un autre site, ça débouche sur des liens "morts". Donc même en créant une fonction, ça ne fera que modifier l'URL au niveau du site, mais pas ceux à l'extérieurs. En somme, il faut que les éditeurs aient conscience que mettre des contenu comme des liens, images, vidéo, etc ... c'est particulier, ça peut être un problème, et pas seulement pour le développeur. Cependant, je distingue au moins 2 choses différentes. D'une part, la convention : {# ... #} Et d'autre part, ce qui ce trouve dans cette convention {# le lien #}. Si on prend ce forum en exemple, il y a aussi une convention car les liens ne sont pas en HTML mais du BBCode. Cependant, le BBCode est devenu un standard, et on l'utilise plutôt pour des raisons de sécurité. Par contre, ce qui ce trouve dans le BBCode (pour les liens/images), c'est une URL, soit : -http://www...../le_post_enquestion Donc c'est "en dur" comme tu dis, et ça ne cause pas de problème pour autant. Et c'est la cas pour la plupart des forums, blogs, et CMS. Ceci dit, si tu sens que ces liens peuvent poser problème et qu'une fonction + convention serait plus pratique, libre à toi de le faire. Je te donne juste mon sentiment sur un aspect.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com