Quelle Méthode pour Afficher les données d'une base de données ?

Résolu/Fermé
hharchi9 Messages postés 567 Date d'inscription mercredi 18 décembre 2013 Statut Membre Dernière intervention 1 juillet 2015 - Modifié par hharchi9 le 24/11/2014 à 16:23
Kopros Messages postés 597 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 3 février 2020 - 23 déc. 2014 à 17:59
Bonjour,

Tout d'abord je tiens à m'excuser du fait que mon titre ne résume pas bien mon problème mais je n'arrive pas à bien le formuler.

Je suis en train de développer un site qui propose des critiques de films par catégories. J'utilise donc une base de données pour stocker toutes les informations sur chaque film.
Pour ce qui est de l'affichage, deux solutions s'offrent à moi :

- créer une page par film
-utiliser une seule page pour tout afficher

La première méthode semble un peu fastidieuse (surtout s'il me prends ensuite l'idée de changer la structure des pages) mais une personne de ce forum m'avait conseillé de faire ceci pour avoir un meilleur référencement.

Ma question est donc : Quelle est la meilleure méthode à adopter ?

De même, en utilisant la seconde méthode est-il possible de changer l'url, et si oui comment (exemple: afficher http://le-cinephile.domaine/film.php au lieu de http://le-cinephile.domaine.php/voirfilms.php?id=4 )

Merci de m'avoir lu et merci d'avance pour vos réponses,

Cordialement,

hharchi9.

1 réponse

Kopros Messages postés 597 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 3 février 2020 89
Modifié par Kopros le 25/11/2014 à 12:02
Je vais te dire la méthode que j'applique :
Dans la base tu crées une table qui contiendra les infos sur chaque page (titre, mots-clés, dates de création et de modification etc) et avec un champ qui va contenir une chaîne unique. Moi j'ai appelé ce champ "filename" mais je suis pas super doué pour trouver des noms appropriés^^
En fait le filename c'est le titre qui passe par une fonction qui retourne une chaîne sans espaces, ni caractères chiants (je t'ai collé cette fonction ici : https://justpaste.it/i58n )
Et pour être unique tu vérifies à l'enregistrement d'une nouvelle page si cette chaine existe ou pas, et si c'est le cas t'ajoutes un chiffre.

Une fois que t'as ça, tu fais tes liens avec le filename et l'extension html.
Exemple si le filename c'est matrix-1, le lien vers ta page sera matrix-1.html

Dans un .htaccess, tu redirige les pages avec l'extension html vers une page php qui va nous traiter ça :
RewriteEngine on
RewriteRule (.*)\.html /ta/page/traitement.php?page=$1 [L]


(note que si ta page est index.php, t'es pas obligé de mettre le nom, juste "/ta/page/?page=$1")

Et voici le fonctionnement de cette page php :

On a un dossier fixe, côté serveur bien sûr, qui va contenir le cache. Moi j'ai nommé les fichiers caches en faisant un md5 du filename, en html. Ces fichiers contiennent du xhtml pure, pas de php.

1. Le php regarde si le cache existe, si c'est le cas il fait un include de ce fichier, on affiche le contenu et c'est tout.
2. Si le fichier cache n'existe pas, php crée la page entière, en profite pour créer le fichier cache, et le retourne.

Ca permet d'avoir une seule page qui va créer toutes les autres, et on est bon pour Google.
En plus c'est rapide parce que les requêtes vers la base de données ne seront faites que pour le 1er visiteur d'une page, les autres auront directement les fichiers html.

Pense aussi à créer une fonction qui va gérer la mise à jour du fichier sitemap.xml.

Voilà, j'te souhaite bon courage !
0
hharchi9 Messages postés 567 Date d'inscription mercredi 18 décembre 2013 Statut Membre Dernière intervention 1 juillet 2015 24
25 nov. 2014 à 18:42
Bonsoir,

Tout d'abord, je tiens à vous remerciez pour votre réponse.

Je vais essayer de suivre votre méthode (dès que j'aurai un peu de temps libre !)

Une petite question dans votre table : les champs mots-clés, date de création,... , à quoi servent-ils ?

Ah oui et le fichier sitemap.xml (en rapport avec le plan d site e semble-t-il), est-ce important car mon site n'en dispose pas pour le moment...

Et encore une fois merci de prendre le temps de me répondre !
0
Kopros Messages postés 597 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 3 février 2020 89
Modifié par Kopros le 25/11/2014 à 21:36
Les champs mots-clés et description servent à renseigner les balises meta (étant donné que le but c'est de créer dynamiquement les pages html). Tu peux en ajouter d'autres, comme par exemple la langue, si jamais ton site est multilingue.

Sinon moi je m'en sert aussi pour savoir si c'est une page "spéciale", c'est à dire autre que du contenu standard, comme la page d'accueil, celle de 404, celle des mentions légales...

Les dates de création et de modification servent surtout pour le sitemap justement (pour la balise <lastmod>).
Le sitemap est utile pour les robots des moteurs de recherche, ça leur permet entre autres de savoir où sont les pages à indexer.
+ d'infos : https://developers.google.com/search/docs/advanced/sitemaps/build-sitemap?hl=fr&visit_id=637430393864558504-761897388&rd=1
0
hharchi9 Messages postés 567 Date d'inscription mercredi 18 décembre 2013 Statut Membre Dernière intervention 1 juillet 2015 24
26 nov. 2014 à 21:35
Merci beaucoup pour vos renseignements !

Je regarderai ça dès que le temps me le permettra !

Je ne ferme pas le sujet au cas où d'autres questions me viennent en tentant de mettre en place votre technique.

Encore une fois mille merci à vous ! :)
0
hharchi9 Messages postés 567 Date d'inscription mercredi 18 décembre 2013 Statut Membre Dernière intervention 1 juillet 2015 24
Modifié par hharchi9 le 4/12/2014 à 09:18
Je viens de réaliser votre méthode et je dois dire qu'elle me plaît beaucoup, c'est vraiment très pratique une fois le script mis en place. Merci encore
0
Kopros Messages postés 597 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 3 février 2020 89
23 déc. 2014 à 17:59
De rien ! :-)
0