Note : vous n'êtes pas identifié
Fonctionnement
Explications pour novices
Templeet est un language complet. Il associe des urls web appelées 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 page
appelée avec un template, cependant vous pouvez vouloir associer, dans
certains cas, plusieurs urls distinctes 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 laissez les entrées actuelles, rajouter les votres à 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'arguments, 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 cas 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
L'architecture de Templeet est la suivante, il y a un coeur aussi minimal que possible appelé core et qui propose une trentaine de fonctions, puis des modules facultatifs qui offrent des fonctions plus élaborées.
Votre système contient les modules suivants :
| · core | Fonctions de base Templeet |
| · array | gestion des tableau et des listes |
| · auth | Authentification |
| · authedit | Gestion de l'authentification |
| · binoperator | comparaisons binaires |
| · cache | gestion de cache, effacement du cache, notion d'expiration |
| · configurator | |
| · cuthtml | extraction de texte d'une chaine contenant du HTML |
| · defunc | création de fonction |
| · dir | gestion de répertoire |
| · fieldfileaccess | |
| · filearray | |
| · filename | gestion des paramètres passés dans l'url, nom du fichier, etc |
| · filesystem | |
| · 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 |
| · lines | gestion de textes sous forme de lignes |
| · list | accès aux base de données (mysql, pgsql, etc) |
| · 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 |
| · spell | vérification orthographique |
| · strings | gestion de chaines de caractères |
| · time | manipulation de formats de date |
| · url | manipulation des urls locales (liens relatifs) |
Optimisation
Voici la configuration qui vous permettra d'avoir les performances maximales possible avec Templeet. Vous aurez alors des performances proches de celles que vous auriez avec des pages statiques.
Note : certains de ces optimisations ne sont possibles que si vous êtes administrateur de votre serveur.
- Activez tous les caches dans Templeet, dans le fichier
templeet/config.php - Exportez le répertoire indiqué dans la variable $pagecachedir en tant que DocumentRoot dans votre fichier de configuration Apache
- Rajoutez les directives suivantes, avec templeet-root le
répertoire ou Templeet est installé :
Alias /templeet.php templeet-root/src/htdocs/templeet.php ErrorDocument 403 /templeet.php ErrorDocument 404 /templeet.php
- Retirez la lecture des fichiers .htaccess dans Apache en utilisant :
AllowOverride None
- Désactivez les résolutions DNS dans Apache avec :
HostnameLookups Off
