Templeet est un moteur de templates comme Smarty ou ModeliXe, mais se caractérise par une gestion avancée des méthodes de cache.
Cette nouvelle version apporte notamment la gestion des templates génériques, c'est à dire un template gérant tous les fichiers avec la même extension, et la possibilité de gérer en natif les images au sein de Templeet (auparavant, Templeet pouvait écrire une image mais pas la renvoyer directement au butineur).
Les fonctionnalités ajoutées sont entre autres : le support de LDAP, la gestion des tableaux multidimensionnels et le support des commentaires PHP standard. Le système de cache et le module d'interrogation ont également été améliorés pour plus de souplesse dans l'utilisation.
Templeet est notamment utilisé sur des sites comme LinuxFr ou sur W-Fenec. Nouvelles fonctionnalités :
- Les commentaires // et /* */ sont maintenant reconnus dans le code templeet.
- les opérateurs binaires & ^ | ont été rajoutés en natif.
- le support des variables ressources PHP permet de générer des images, par exemple.
- le cache de page peut maintenant être initialisé à '/', permettant ainsi d'écrire les pages générés par Templeet à la racine du répertoire d'installation. Ces pages sont par la suite directement servies par Apache, sans passer par Templeet ou PHP, et ceci sur un plus grand nombre de configuration (notamment les hébergeurs mutualisés, où la directive DocumentRoot ne peut être modifiée). Ce mécanisme permet d'obtenir des performances équivalente à un site statique. La purge du cache n'effaçant évidemment que les fichiers crées par Templeet :)
- Les templates peuvent maintenant être disponibles par extension, un template sera utilisé pour toute les URLs de la même extension. De plus, un template peut également être utilisé pour tous les fichiers de même nom n'importe où dans la sous-arborescence. Ces deux mécanismes sont utilisés dans le package "Galerie".
- il est maintenant possible de remplacer des occurrences d'un texte par le résultat de l'évaluation d'un code templeet.
# Question piège
Posté par tinodeleste . Évalué à 3.
[^] # Re: Question piège
Posté par PiT (site web personnel) . Évalué à 1.
Mais j'en profite pour dire que c'est assez inutile, amha, de courir après les dernières versions lorsque l'on est satisfait de celle que l'on utilise.
Combien de fois n'entend-on pas cette phrase en info (qui me fait bondir d'ailleurs) : "Mais, le programme machin 1.3 c'est dépassé !" ... quelle bête phrase.
[^] # Re: Question piège
Posté par tinodeleste . Évalué à 2.
Je ne veux pas dire que Linuxfr devrait déjà être en 3.0, mais que Linuxfr devrait suivre ces changements pour ne pas être obligé de tout réécrire à partir de rien quand il y aura migration, un jour...
[^] # Re: Question piège
Posté par Pooly (site web personnel) . Évalué à 3.
le core de templeet est tres stable, (la preuve en est linuxfr), donc pas de souci majeur pour une upgrade.
La seule modification qui casse une compatibilité est géré par un script qui fait la mise a jour (et est éprouvé).
[^] # Re: Question piège
Posté par Infernal Quack (site web personnel) . Évalué à 1.
L'association LinuxFr ne saurait être tenue responsable des propos légalement repréhensibles ou faisant allusion à l'évêque de Rome, au chef de l'Église catholique romaine ou au chef temporel de l'État du Vatican et se trouvant dans ce commentaire
[^] # Re: Question piège
Posté par Pooly (site web personnel) . Évalué à 4.
[^] # Re: Question piège
Posté par Fabien Penso (site web personnel, Mastodon) . Évalué à 4.
[^] # Re: Question piège
Posté par GaGadget . Évalué à 2.
[^] # Re: Question piège
Posté par Dring . Évalué à 3.
# Templeet, c'était mieux à vent
Posté par Aldoo . Évalué à -6.
(bon, j'ai fait ma connerie de la semaine, chui content ;), je sors avec le sourire)
# et la tribune ?
Posté par Gniarf . Évalué à 4.
[^] # Re: et la tribune ?
Posté par Star_Dust . Évalué à 9.
Avec tout le vent qui est brassé sur la tribune, y'a largement de quoi l'alimenter en électricité.
[^] # Re: et la tribune ?
Posté par bmc . Évalué à 4.
[^] # Re: et la tribune ?
Posté par Wo0chY . Évalué à 1.
D'où, pour réduire les frais de climatisation, mettre d'un côté du batiment les gens qui brassent de l'air et de l'autre ceux qui le pompent ;-)
# Ch'uis pas réveillé ?
Posté par frayd . Évalué à 6.
[^] # Re: Ch'uis pas réveillé ?
Posté par mansuetus (site web personnel) . Évalué à 2.
Mais ce site (templeet.org) reste un site superbe, et donc je ne le critiquerai pas au delà !
Bravo pour cette version 3.
[^] # Re: Ch'uis pas réveillé ?
Posté par Édouard Geuten (site web personnel) . Évalué à 3.
je concois que le logo W3C Compliant est joli, mais heu, ca couterais qqch de vérifier avant de le mettre?
[^] # Re: Ch'uis pas réveillé ?
Posté par mol67 . Évalué à 0.
Et enfin j'ai pas vu le logo du W3C moi sur le site...
[^] # Re: Ch'uis pas réveillé ?
Posté par duke . Évalué à 2.
"Cette page a été générée par Templeet en 0.2934s.
Elle est valide xhtml 1.0."
[^] # Re: Ch'uis pas réveillé ?
Posté par dab . Évalué à 6.
Je croyais que le does était là pour insister sur le verbe suivant et non pour le mettre au conditionnel.
[^] # Re: Ch'uis pas réveillé ?
Posté par Pooly (site web personnel) . Évalué à 2. Dernière modification le 04 décembre 2021 à 20:28.
les screenshautes sont revenus !
http://www.templeet.org/ (NdM: remplacé en 2021 par un lien archive.org)
# Changement de nom?
Posté par Pierre Tramo (site web personnel) . Évalué à 3. Dernière modification le 04 décembre 2021 à 20:28.
Est ce qu'il n'était pas question d'un changement de nom a une époque?
Parce ce que bon, c'est pas vraiment un langage de template. Un template, c'est censé séparer le fond de la forme, mais quand on voit des exemples comme sur http://templeet.org/doc/list.fr.html (NdM: remplacé en 2021 par un lien archive.org) qui mélangent du sql avec des balises, c'est loin d'etre le cas!
[^] # Re: Changement de nom?
Posté par Pooly (site web personnel) . Évalué à 4.
[^] # Re: Changement de nom?
Posté par Paul . Évalué à 2.
php-tout-court-en-short-tout-nu. Pour moi templeet n'est pas un
langage de template mais plutot une grosse lib couchée sur php, bien
pratique il est vrai pour faire des sites ouaibe (y'a qu'à voir linuxfr ;).
[^] # Re: Changement de nom?
Posté par Pierre Tramo (site web personnel) . Évalué à 0.
$plop_f = & new PlopF($classes_descriptor);
$board = & $plop_f->getInstanceOf('Board');
$users = & $plop_f->getInstanceOf('Users');
$html_board = $board->getHtmlBoard();
$nxpt = & $plop_f->getNewInstanceOf('Nxpt');
$nxpt->setTemplate(PHPLOP_BASEPATH.'web-app/templates/board.xml');
$nxpt->useModule('n','nxpt:core');
$nxpt->setVariable('board',$html_board) ;
$nxpt->setVariable('user', $users->getCurrentUser());
$nxpt->setVariable('patisserie', $plop_f->getNewInstanceOf('Patisserie'));
$nxpt->cache();
$nxpt->run();
printXhtmlHeader();
echo $nxpt->getVariable('template');
Et le template (et bien sur, le parseur de templeet me bouffe presque tout donc je doit mettre en texte pur)
<?xml version="1.0" encoding="iso-8859-1"?>
<n:template>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>ICI LE MAIN TITLE</title>
</head>
<script type="text/javascript" src="board.js"> </script>
<style type="text/css" media="screen">@import "style.css";</style>
<body>
<h1>Plop :o</h1>
<div>
<h2>Le bouchot</h2>
<ul id="board">${board}</ul>
<form method="post" action="add.php">
<p class="post">
<label>Votre message :
<input id="message"
name="message"
type="text"
maxlength="512"
value="${patisserie:getMiniLogin('> ')}"
/>
<input type="submit"
value="poster"
/>
</label>
</p>
</form>
</div>
<div>
<h2>Votre compte</h2>
<n:if test="${user:isAnonymous()}">
<n:then><a href="user/">login</a> | <a href="user/new.php">ouvrir un nouveau compte</a></n:then>
<n:else><h3>${user:getLogin()}</h3><a href="user/">votre compte</a> | <a href="user/logout.php">logout</a></n:else>
</n:if>
<h2>Patisserie</h2>
<form method="post" action="user/patisserie.php">
<p><label>mini UA : <input maxlength="20" name="miniua" type="text" value="${patisserie:getMiniUA()}"/></label> <n:if test="${patisserie:getMiniUA() != ''}"><a href="user/patisserie.php?removeMiniUA">virer le mini-ua</a></n:if></p>
<p><label>mini Login : <input maxlength="20" name="minilogin" type="text" value="${patisserie:getMiniLogin()}"/></label> <n:if test="${patisserie:getMiniLogin() != ''}"><a href="user/patisserie.php?removeMiniLogin">virer le mini-login</a></n:if></p>
<p><input type="submit" value="J'veux mon gateau"/></p>
</form>
</div>
</body>
</html>
</n:template>
Au moins, il y a une vraie séparation.
[^] # Re: Changement de nom?
Posté par Pierre Tramo (site web personnel) . Évalué à -1.
[^] # Re: Changement de nom?
Posté par faden . Évalué à 1.
[^] # Re: Changement de nom?
Posté par Pooly (site web personnel) . Évalué à 2.
Bon, hé bien, je m'en vais coder un module pour faire ca et séparer un peu mieux code et présentation ;-)
# Quel est la raison de la version 3 ?
Posté par FReEDoM (site web personnel) . Évalué à 2.
>- Les commentaires // et /* */ sont maintenant reconnus dans le code templeet.
ça existe en version 2 mais dans les ~rem
>- les opérateurs binaires & ^ | ont été rajoutés en natif.
chouête de nouveaux opérateurs (mais ça vaut pas un passage de version majeure....)
>- le support des variables ressources PHP permet de générer des images, par exemple.
po compris ....
>- le cache de page peut maintenant être initialisé à '/', permettant ainsi d'écrire les pages générés par Templeet à la racine du répertoire d'installation. Ces pages sont par la suite directement servies par Apache, sans passer par Templeet ou PHP, et ceci sur un plus grand nombre de configuration (notamment les hébergeurs mutualisés, où la directive DocumentRoot ne peut être modifiée). Ce mécanisme permet d'obtenir des performances équivalente à un site statique. La purge du cache n'effaçant évidemment que les fichiers crées par Templeet :)
A peu de chose prêt, c'est l'idée même de templeet faire des pages statiques renvoyées par apache sans passer par PHP quand c'est possible. L'évoltuion n'est pas bien visible dans cette explication. Ou alors mon cerveau a un peu du mal ce matin.
>- Les templates peuvent maintenant être disponibles par extension, un template sera utilisé pour toute les URLs de la même extension. De plus, un template peut également être utilisé pour tous les fichiers de même nom n'importe où dans la sous-arborescence. Ces deux mécanismes sont utilisés dans le package "Galerie".
ça déjà c'est plus une évo majeure :)
- il est maintenant possible de remplacer des occurrences d'un texte par le résultat de l'évaluation d'un code templeet.
ça aussi , ça à l'air interessant : si je comprends bien il s'agit de l'intégration fine des regexp directement dans le moteur templeet ?
En tout cas bonne continuation (va falloir que je vois si mon site migre facilement...)
[^] # Re: Quel est la raison de la version 3 ?
Posté par Pooly (site web personnel) . Évalué à 3.
>- Les commentaires // et /* */ sont maintenant reconnus dans le code templeet.
ça existe en version 2 mais dans les ~rem
les ~rem evaluent leurs arguments, donc cela sert juste a retirer la sortie. ~noeval est l'équivalent, mais garde une syntaxe templeet, ce qui n'est pas le cas de // et /* */
chouête de nouveaux opérateurs (mais ça vaut pas un passage de version majeure....)
cf. plus haut, cassage de compatibilité pour le format de package.
A peu de chose prêt, c'est l'idée même de templeet faire des pages statiques renvoyées par apache sans passer par PHP quand c'est possible. L'évolution n'est pas bien visible dans cette explication. Ou alors mon cerveau a un peu du mal ce matin.
Oui, mais un ~uncache('/') etait problématique dans le cas ou le cache de page était situé a la racine, cela effacait _tous_ les fichiers y compris templeet et les templates... (plutot mauvais ;-)
- il est maintenant possible de remplacer des occurrences d'un texte par le résultat de l'évaluation d'un code templeet.
ça aussi , ça à l'air interessant : si je comprends bien il s'agit de l'intégration fine des regexp directement dans le moteur templeet ?
exactement, a l'instar d'une regex PHP avec evaluation du code en fonction des correspondances trouvées.
# Un petit exemple
Posté par crevette . Évalué à 4.
Pour les geeks affamés : http://le.coin.cuisine.free.fr(...)
C'est pas un très gros site, mais ca permet de s'amuser un peu.
ps : si quelqu'un a une idée de design pour ce site, qu'il n'hésite pas. J'avoue que ca ma plairait bien de changer ces couleurS.
# Ressources template
Posté par François (site web personnel) . Évalué à 1.
de plus j'ai eu un probleme d'allocation de memoire à l'install.
Je voulais donc savoir si je desinstalle tout de suite ou non.
au fait, peut on faire une simple copie du repertoire pour l'installer ailleurs ?
esperant etre au bon endroit pour questionner la dessus :)
[^] # Re: Ressources template
Posté par crevette . Évalué à 2.
La copie n'est pas a conseiller du _tout_, car Templeet initialise des variables selon l'installation; si ton site est à la racine de ton DocumentRoot ou non, ...
Fait remonter ton expérience sur la Mailing User de templeet, avec les erreurs rencontrées, et il lien vers ta page phpinfo (tu peux la consulter dans la partie auth/ de ton site)
[^] # Re: Ressources template
Posté par François (site web personnel) . Évalué à 1.
error404used: 0
usepagecache: 1
useincludecache: 1
usetemplatecache: 1
pathinfoaccepted: 0
cgi_header: 0
Ce qui veut bien dire que j'utilise le cache ...
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.