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 :

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.