Note :
Fonctionnement
Explications pour novices
Templeet est un language complet. Il associe des urls web appelés sur votre site avec des templates. Ces templates peuvent être de simples pages HTML agrémentées ou non de commandes Templeet, et plus généralement n'importe quel format texte (SVG, SMIL, TXT, etc).
Par défaut, pour toute page demandée, Templeet utilisera le même nom de
fichier comme template. Si mapage.html est appelé, Templeet
utilisera dans l'ordre le template template/mapage.tmpl
ou
template/mapage.html
. Si le template n'existe pas, il retournera
une erreur 404.
Vous pouvez facilement passer des paramètres au template en les indiquant après le nom du fichier, séparés par des virgules. En appelant l'url mapage,et,ou.html, Templeet utilisera le même template que précédemment. Vous aurez accès aux paramètres directement dans vos templates grâce au module filename.
Explications pour confirmés
Comme indiqué précédemment, Templeet associe par défaut toute page
appelée avec un template, cependant vous pouvez vouloir associer, dans
certains cas, plusieurs urls distincts avec un même template. Il faut alors
renseigner un tableau dans le fichier templeet/config.php
, il
vous permet d'utiliser des expressions régulières au format PERL. Par exemple
dans l'exemple suivant Templeet associe toute page HTML dont le nom est un
nombre (1.html
, 2.html
, etc.) avec un seul template
(template/montemplate.html
).
Note : sauf exception, n'oubliez pas de laisse les entrées actuelles, rajouter les vôtres à la suite.
$config['html2template_array'] = array( '|^templeet_doc/.+\.(:?\w{2})?html$|'=>'template/doc.tmpl', '|^([^,]+).*\.html$|' =>'template/\1.tmpl', '|^([^,]+).*\.(?:\w{2}\.)?([^\.]+)$|' =>'template/\1.\2', '|\d+\.html$|' => 'template/montemplate.html', // exemple );
Syntaxe des templates
Les templates sont de simples fichiers agrémentés de commandes Templeet. Les fichiers peuvent être au format HTML, SVG, SMIL, etc.
Les commandes Templeet commencent avec le caractère ~ puis le nom de la fonction, parenthèse ouvrante, les arguments séparés par une virgule, puis une parenthèse fermante. Les noms des fonctions peuvent contenir des caractères alphanumériques, ainsi que le caractère _ (underscore).
Ceci est un template utilisé pour ~get_filename() ~set('count',1) ~while(~get('count')<=3, 'je compte ~get('count') ~set('count',~get('count')+1)')
Si le template ci-dessus se trouve dans template/essai.txt
alors
un appel vers la page essai.txt
donnera le rendu suivant. Les fonctions seront détaillées plus tard, ne
cherchez pas à les comprendre, juste à voir leur syntaxe.
Ceci est un template utilisé pour essai je compte 1 je compte 2 je compte 3
Dans cet exemple, la fonction set
permet de mettre le contenu du deuxième
argument dans une variable ayant pour nom le premier argument. La fonction
while
évalue le deuxième argument tant que le premier retourne vrai. La fonction
get
retourne la valeur de la variable ayant pour nom le premier argument.
Enfin, la fonction get_filename
ne prend pas d'argument, elle retourne le
nom du fichier demandé dans l'url, sans l'extension.
Gestion des langues
Templeet vous permet d'avoir un site avec plusieurs langues disponibles. Le système est similaire au système MultiViews utilisé dans Apache.
Une fois que Templeet a déterminé quel template utiliser, il regarde si ce même template existe dans la langue demandée par le navigateur du client. S'il existe il l'utilisera. S'il n'existe pas, il regarde si le template avec la langue définie dans le fichier config.php existe, s'il existe, il l'utilisera, sinon en dernier ressort il utilisera le template par défaut qu'il avait trouvé.
Ainsi, si l'url mapage.html a été demandé par un navigateur
francophone, que la langue par défaut dans config.php
est l'anglais, il
utilisera le premier fichier qu'il trouvera, ceci dans l'ordre suivant :
- template/mapage.fr.html
- template/mapage.en.html
- template/mapage.html
Fonctions disponibles
Le coeur de Templeet est aussi minimal que possible. Il est appelé core et propose une trentaine de fonctions de base. Des modules facultatifs offrent des fonctions plus élaborées.
Votre système contient les modules suivants :
· core | Fonctions de base Templeet |
· array | gestion des tableaux et des listes |
· auth | Authentification |
· authedit | Gestion de l'authentification |
· binoperator | comparaisons binaires |
· cache | gestion de cache, effacement du cache, notion d'expiration |
· configurator | |
· convpassfile | |
· cryptedimage | |
· cuthtml | extraction de texte d'une chaîne contenant du HTML |
· debug | |
· defunc | création de fonction |
· detar | |
· diff | |
· dir | gestion de répertoire |
· fieldfileaccess | manipulation de tableaux enregistrés |
· filearray | |
· filename | gestion des paramètres passés dans l'url, nom du fichier, etc. |
· filesystem | Manipulation de fichier |
· getglobals | gestion des variables serveur, environnement, session, cookie et des paramètres GET et POST. |
· html | traitement de chaines HTML |
· image | |
· ip | traitement d'adresses IP |
· ldap | |
· lines | gestion de textes sous forme de lignes |
· list | accès aux base de données (mysql, pgsql, etc) |
· list_tree | |
· ls | gestion des fichiers dans des répertoires |
· package | |
· passthru | |
· rand | génération de chaine aléatoire |
· rdf | gestion de fichier RDF externe |
· redirect | redirection de page |
· regex | expressions régulières |
· session | |
· setlocal | |
· spell | vérification orthographique |
· strings | gestion de chaines de caractères |
· time | manipulation de formats de date |
· treewalk | |
· url | manipulation des urls locales (liens relatifs) |
Vous pouvez consulter la liste des fonctions par ordre alphabétique ou par modules.
Optimisation
Voici la configuration qui vous permettra d'avoir les performances maximales possibles avec Templeet. Vous aurez alors des performances proches de celles que vous auriez avec des pages statiques.
Note:Au moment de l'installation, l'installeur examine la configuration de votre serveur web et fait au mieux pour configurer Templeet de manière optimale. Toutefois dans certains cas il est possible d'utiliser une configuration meilleure que celle qui a été détectée par l'installeur.
- La meilleure configuration généralement utilisable correspond à l'activation de
tous les caches dans Templeet avec une gestion des erreurs http 403 et 404. Le fichier
.htaccess contient alors:
ErrorDocument 403 /templeet.php ErrorDocument 404 /templeet.php Options -Indexes
- Il est encore possible de gagner un petit peu en déplaçant ces directives directement
dans la configuration d'Apache et en bloquant la lecture des fichiers .htaccess en utilisant:
AllowOverride None
- La désactivation des résolutions DNS dans Apache permet encore de gagner un petit peu:
HostnameLookups Off
Wiki
Vous pouvez également trouver de l'aide sur le wiki de documentation de Templeet.