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 03/09/2012, 12h24   #1
networkinfo
Invité de passage
 
Inscription : mai 2012
Messages : 15
Détails du profil
Informations forums :
Inscription : mai 2012
Messages : 15
Points : 1
Points : 1
Par défaut Explications sur moteur de template

Bonjour

Je ne saisi pas trop les moteurs de templates

Il permettent de scinder le code du design ok mais permettent t-ils d'intégrer plus facilement une maquette de designer?

Je ne comprends pas cette partie design

Pouvez vous m'orienter??

Merci d'avance
networkinfo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2012, 14h11   #2
Benjamin Delespierre
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 3 897
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 897
Points : 8 605
Points : 8 605
Si tu es un développeur, tu n'as pas besoin d'un moteur de template car PHP est un (excelent) moteur de template.

Les moteurs de templates ne sont utiles qu'aux intégrateurs, qui ne doivent pas (et n'ont pas à) connaitre le code, ils doivent se contenter d'utiliser des balises (généralement spécifiques au moteur utilisé) pour mettre en forme des pages web avec des section dynamiques.

Pour comprendre grosso-modo comment fonctionne un moteur de template, écrivons en un en 5 minutes:
/tpl/index.htm
Code :
1
2
3
4
5
6
7
8
<html>
<head>
    <title>%title%</title>
</head>
<body>
    <h1>Bonjour %nom% %prenom%</h1>
</body>
</html>
/tpl/template.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
 
function template ($tpl, array $items) {
    $tpl = dirname(__FILE__) . "/$tpl";
    if (!is_file($tpl) || !is_readable($tpl))
        return false;
 
    $replace = array();
    foreach ($items as $key => $value) {
        $replace["%$key%"] = $value;
    }
 
    $buffer = file_get_contents($tpl);
    return str_replace(array_keys($replace), $replace, $buffer);
}
index.php
Code :
1
2
3
4
5
6
7
<?php
 
$nom = "Dupont";
$prenom = "Jean";
$title = "Demonstration";
 
echo template('index.htm', compact('nom', 'prenom', 'title'));
Simple non ?

Du coup, un éventuel intégrateur n'aura plus qu'a modifier des fichiers HTML en y mettant des placeholders. Beaucoup de moteurs de template implémentent des mécanismes plus complexes pour les boucles et les filtres.

Personnellement je préfère la syntaxe alternative.
__________________
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 03/09/2012, 14h17   #3
networkinfo
Invité de passage
 
Inscription : mai 2012
Messages : 15
Détails du profil
Informations forums :
Inscription : mai 2012
Messages : 15
Points : 1
Points : 1
Merci pour cette explication!

Je travaille avec des designers et je cherche à accélérer l'intégration de leur maquette photoshop

J'oublie le moteur de template qui ne convient pas dans cette optique

J'ai d'autres possibilités :

-Les former aux xhtml / css
-L'utilisation d'un logiciel... artisteer? dreamweaver??
-Coder?
networkinfo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2012, 14h28   #4
Benjamin Delespierre
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 3 897
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 897
Points : 8 605
Points : 8 605
Le moteur de templates serait parfait pour eux, pour peu qu'il connaissent XHTML/CSS (même si, comme je l'ai dit plus haut, c'est là le travail des intégrateurs, non des designers). Tu peux regarder SMARTY, c'est le plus populaire actuellement.

Je ne saurais que trop te recommander de ne pas utiliser Dreamweaver, c'est vrai que ça solutionne le problème avec son système de maquettes, le souci c'est que c'est vraiment un piètre IDE, tout à fait impropre au développement selon moi et surtout qui produit du code de m*rde quand utilisé avec le WYSIWYG.

Tu peux aussi prendre le problème sous un autre angle, en leur demandant par exemple de fournir des maquettes PSD qui suivent un gabarit précis (comme celui de 960gs ou de Twitter Bootstrap), ça t’allégera la tâche d'intégration.
__________________
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 03/09/2012, 14h35   #5
networkinfo
Invité de passage
 
Inscription : mai 2012
Messages : 15
Détails du profil
Informations forums :
Inscription : mai 2012
Messages : 15
Points : 1
Points : 1
Merci

Tu penses que je pourrais me coder quelque chose aussi?
networkinfo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2012, 14h53   #6
Benjamin Delespierre
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 3 897
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 897
Points : 8 605
Points : 8 605
Oui bien sûr, mais il existe déjà pléthore de moteurs disponibles, en développer un de plus n'aurait qu'une valeur éducative.

Le meilleur moyen, selon moi, ça reste le sur mesure. Il faut se salir les mains et écrire du code, je ne crois pas à l'outil magique qui fait ton travail à ta place en mode "y clique, y clique, c'est fini; merci Dreamweaver !" Y'a toujours une arnaque quelque part.

J'ai jamais vu un garagiste réparer une voiture sans ouvrir le capot (sauf peut être carglass ), t'imagine faire un site sans coder ?
Pour rester dans la même analogique, j'ai jamais vu non plus de garagiste démonter un bougie à main nues. Il faut que tu te dotes d'une série d'outils qui vont t'aider à accélerer ton dév:
  1. un environement de travail efficace (je pense à un IDE de la gamme d'Eclipse)
  2. des librairies pour les usages courants (pour le PHP, le JS et le CSS)
  3. des gabarits photoshop, pour t'éviter de devoir recréer les feuilles de style from-scratch à chaque fois qu'on t'envoie une maquette, essaie d'imposer certaines règles factorisable à tous les projets (encore une fois, Bootstrap est parfait pour ça)
  4. un bon environnement de test (et si possible des tests automatisés) et des VM pour reproduire l’environnement de prod
  5. un fauteuil confortable, du café et un boss sympa (les 3 grand facteurs de productivité )
__________________
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 18h31.


 
 
 
 
Partenaires

Hébergement Web