Précédent   Forum du club des développeurs et IT Pro > PHP > Bibliothèques et frameworks > Templates
Templates Forum d'entraide sur les templates (gabarits) avec PHP. Exemples : Smarty, TinyButStrong... Avant de poster -> FAQ templates et Cours gabarits
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 12/04/2011, 06h18   #1
freshman
Invité régulier
 
Inscription : octobre 2006
Messages : 22
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 22
Points : 7
Points : 7
Par défaut Template ou cms C'est quoi la différence ?

Bonjour à tous!
J'ai un site dynamique géré avec une base de donnée MySql, avec des liens du genre "http://www.mydomain.com/index.php?p=mypage" et je me demandait comment faire pour avoir toujours un site dynamique avec des liens comme pour les sites statiques style "http://www.mydomain.com/mypage.php" pour toutes pages de mon site y compris celles générées à la volet.
Dans ma quête de solution j'ai entendu parler de Template et de cms. Malgrès tous les tutos et cours que j'ai pu lire là dessus j'avoue que je les trouve assez compliqué. Et donc je voudrais savoir dans un premier temps si ces deux mots parlent de la même chose? ensuite si l'un deux mots peut résoudre mon problème de lien, enfin quelqu'un aurait--t'il un tuto assez simple ou avec des explications détaillés pour m'aider à comprendre et à me familiariser avec eux? Je précise que je me débrouille bien en php5 OO. Merci d'avance pour le soutient.....
freshman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 09h34   #2
grunk
Modérateur
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 2 520
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 28
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 2 520
Points : 5 262
Points : 5 262
Citation:
premier temps si ces deux mots parlent de la même chose?
Non rien à voir.
Un CMS (Content Management System) est un outil de gestion de contenu. Pour simplifier c'est un outil pour créer un site rapidement. On peut citer par exemple wordpress , joomla, drupal ...

Un template (plutôt un moteur de template dans ton cas) est un outil qui permet de séparer le contenu html du php. C'est en général pratique quand on travail avec des graphistes. On leur fournit un simple fichier html dénué de tout php , il sont alors plus à l'aise et bousille pas ton code parce que "ca faisait pas beau là" (c'est du vécu ^^ ).
On peut citer par exemple Twig , smarty ...

Citation:
ensuite si l'un deux mots peut résoudre mon problème de lien,
Non

Pour résoudre ton problème regarde du coté de la récriture d'url aussi appeler url rewriting
__________________
Pry Framework php5 | Recherche CDI dev. Web sur Dijon et alentours.
grunk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 12h26   #3
Benjamin Delespierre
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 3 904
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 25
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 3 904
Points : 8 642
Points : 8 642
Voici un tutoriel simple pour acquérir les bases en url rewriting.
La réécriture d'URL est un moyen puissant d'optimiser son référencement et permet de résoudre des problématiques complexes de liens sur une application web, ses domaines d'application sont aussi nombreux que variés. Je te recommande fortement de jeter un oeil sur la doc Apache.

Concernant les moteur de templates, personnellement je suis contre. Il ne faut jamais oublier que PHP à été conçu au départ pour mettre du dynamisme dans des pages statiques, ce qui est le rôle d'un moteur de templates. Utiliser un mécanisme au dessus de PHP pour faire ça relève selon moi de la redondance.
Pour te faciliter la vie dans l'écriture de vues dynamiques en PHP, je te recommande la syntaxe alternative.

Concernant les CMS, c'est vrai que c'est pratique et que ça couvre 98% des usages courants d'un site web, mais attention à ne pas essayer à tout prix de faire rentrer un besoin carré dans une solution ronde
Exemple: "mon CMS est parfait pour faire du blog, est ce que je peux l'adapter pour qu'il fasse annuaire ?" A éviter à tout prix car à transformer un produit fini aussi complexe qu'un CMS de la classe de Wordpress ou SPIP finit généralement en bidouillage le plus immonde et à l'introduction de régressions voire l'ouverture de brêches de sécurité.
__________________
On vous a menti
PHP, Injection de dépendances et composants
La POO en PHP en 10 minutes pour moins
Suivez-moi sur GitHub et Twitter

N'oubliez pas de vous servir des bouttons , et
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/04/2011, 01h58   #4
freshman
Invité régulier
 
Inscription : octobre 2006
Messages : 22
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 22
Points : 7
Points : 7
Par défaut url rewriting...

Bonsoir....
J'ai commencé, comme vous me l'avez recommandé, à m'initier au url rewriting à travers le tuto ci dessous:

- Commencez par créer une page test.php à la racine de votre serveur. - Vous y insererez un simple texte : "Bonjour, on teste le mod_rewrite d'Apache"
- Créez un fichier .htaccess et vous y insererez le code suivant :

RewriteEngine on
RewriteRule ^test\.html$ /test.php [L]

- Déposez ce "htaccess" et votre page "test.php" via votre FTP à la racine de votre site (*)
* ou dans un même répertoire

Il ne vous reste plus qu'à entrer l'URL suivante dans votre naviguateur favori : http://votresite.com/test.html, et vous devriez voir apparaitre le texte de la page "test.php".

Et là, deux hypothèses :
- soit la page apparaît et l' URL test.html est bien réecrite en test.php
- soit vous avez une erreur 404, ou plus probable une erreur 500 et là... rien à faire, le mod_rewrite n'est pas actif chez votre hébergeur.

Tuto que vous pourriez voir sur le lien http://www.expreg.com/rewrite.php. J'ai mis l'exercice en pratique seulement la page s'affiche mais l'url dans le navigateur ne change, je reste sur test.html bien qu'il m'affiche le contenu de la page test.php. Merci de me dire pourquoi, parce que je ne comprend pas. je l'ai refait à trois reprises pourtant.........
freshman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/04/2011, 07h44   #5
freshman
Invité régulier
 
Inscription : octobre 2006
Messages : 22
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 22
Points : 7
Points : 7
Par défaut url rewriting compris

Salut!
juste dire que mon dernier message resulte d'une mauvaise compréhension la syntaxe RewriteRule. A force de refaire l'exercice j'ai pu comprendre. Je vais maintenant l'appliquer à mon site à proprement dit. Merci en tout cas de m'avoir mis sur la voie......
freshman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/04/2011, 12h14   #6
Benjamin Delespierre
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 3 904
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 25
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 3 904
Points : 8 642
Points : 8 642
Citation:
J'ai mis l'exercice en pratique seulement la page s'affiche mais l'url dans le navigateur ne change
Je pense que tu as compris en relisant l'exercice mais pour clarifier: Apache ne change pas les URL coté navigateur: il traduit des url (ou les réécrit si tu préfère). Si tu souhaite que l'url change dans le navigateur, il faut faire une redirection (voir location).
__________________
On vous a menti
PHP, Injection de dépendances et composants
La POO en PHP en 10 minutes pour moins
Suivez-moi sur GitHub et Twitter

N'oubliez pas de vous servir des bouttons , et
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2011, 21h22   #7
freshman
Invité régulier
 
Inscription : octobre 2006
Messages : 22
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 22
Points : 7
Points : 7
Par défaut je suis un peu confus

Excusez moi Benjamin, mais je crois que je ne comprend plus rien vous voyez! Mon but en que l'url change aussi bien dans le navigateur que pour le moteur de recherche. Je ne sais pas comment faire avec la rédirection et la réécriture de l'url. S'il vous plait aidez-moi à comprendre surtout avec un tuto commenté. Ca m'aiderais beaucoup... Merci.............
freshman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2011, 23h10   #8
Benjamin Delespierre
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 3 904
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 25
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 3 904
Points : 8 642
Points : 8 642
Personnelement je ne crée par 50 règles pour réécrire toutes les url de mes sites, je procède comme suit (inspired by Lithium ):
Code :
1
2
3
4
5
6
7
8
 
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !favicon.ico$
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>
Ces règles signifient: Tout ce qui n'est ni un répertoire ni un fichier doit être redirigé et vers index.php et tout ce qui est dans l'url va dans le paramètre GET nommé url.

Donc coté PHP, tout passe par index.php et je réccupère systématiquement un paramètre qui peut avoir cette bouille:
Code :
1
2
3
4
 
// Url tapée http://mon.site.com/articles/new/1
var_dump($_REQUEST);
// va afficher [url = "articles/new/1"]
Ensuite, je définis des expressions régulière pour déterminer quelle route emprunter dans mon application.
Enfin, ça c'est une des nombreuses façons de se servir de l'URL rewriting.

Sur les page du site, mes attributs href respectent tous cette syntaxe:
Code :
1
2
 
<a href="/article/1/commenter">Ajouter un commentaire</a>
Ils utilisent directement les URL réécrites, tout simplement.

Voici un autre article sur l'URL rewriting: http://apache.developpez.com/cours/urlrewriting/ (au cas où, c'est jamais perdu )
__________________
On vous a menti
PHP, Injection de dépendances et composants
La POO en PHP en 10 minutes pour moins
Suivez-moi sur GitHub et Twitter

N'oubliez pas de vous servir des bouttons , et
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 00h25.


 
 
 
 
Partenaires

Hébergement Web