Qu'est-ce que c'est ?
Tequilla est un système de content management simple
pour gérer un site web en séparant le contenu de la
présentation visuelles des pages. Ainsi tout le contenu des
pages d'un site développé avec le système LemonData
Tequilla est enregistré dans une base de données MySQL.
Le design ou les maquettes sont quant à elles, représentées
par des fichiers HTML dépourvus de données.
A quoi ca sert ?
C'est très simple, si toutes vos pages sont dans une
base de données et que vous disposez de deux, trois templates
par type de page (article, test, cv, récit ...) vous pourrez
modifier la présentation de votre site en modifiant simplement
ces deux trois fichiers via votre éditeur préféré
(Dreamweaver par exemple), les transférer en template sur le
serveur où est installé Tequilla et toutes vos pages
du site seront modifiées automatiquement. Pas mal non ?
Les avantages du système sont :
- L'utilisation des technologies gratuites les plus répandues,
à savoir une base de données MySQL et le langage PHP.
Ainsi il est possible d'héberger gratuitement le système
sur des providers aussi populaires que Free.fr !
- Tout est à installer sur un serveur web, rien
du côté client, tout peut se faire avec n'importe quel
navigateur web (internet explorer) sur n'importe quelle plateforme
: client ultra léger et cross-plateforme !
Comment ca marche ?
Chaque page du site est construite en deux parties :
- Un ou plusieurs enregistrements dans une table de la base
de données MySQL pour stocker le contenu de la page.
- Un fichier HTML contenant des balises spéciales
LemonData de la forme [@colonne_donnée@] destinées
à recevoir la valeur des colonnes des tables contenant les
données de la page web : c'est le template.
Chaque page du site est ensuite appelée via une seule
page : engine.php suivi de la requête SQL et du template à
utliser. Ce programme php est le coeur du système, il va exécuter
la requête passée en paramètre puis charger le
template pour construire dynamiquement la page web à partir
des informations réccupérées dans la base de
données.
Configuration requise
Serveur web supportant PHP3 et MySQL.
Client graphique (navigateur sous Windows, X-Windows, MacOS ...)
Paramétrage du système
Quatre programmes php à copier sur votre serveur web
:
engine.php3 |
le coeur du système |
admin.php3 |
un gestionnaire de base de donnée web, il vous
permettra de définir le contenu des pages de votre site
de manière simple |
add_template.php3 |
ce programme transforme les pages HTML représentant
vos template en fichier .tpl exploitables par le système
Tequilla |
conf.php3 |
il contient vos mots de passes d'accès à
la base de données, des données sur la localisation
des répertoires et sur les tables par défaut de
l'outil d'admin |
ATTENTION : Il faut veiller à bien donner les droits
de lecture et éxécution à tout le monde sur ces
fichiers une fois copiés sur le serveur web.
Les fichiers admin.php3 et add_template.php3 doivent se situer
dans un sous-répertoire donc l'accès est protégé
(par un fichier .htaccess par exemple sur les serveur Apache), afin
que personne d'autre que vous ne puisse modifier les données
de votre site web.
Conception et transfert des templates
Présentation de l'outil TequillaTemplate
Ce programme permet d'uploader ses templates à l'état
de fichiers HTML sur le serveur web en les transformant au passage
en fichier .tpl afin de pouvoir être utilisés par le
système.
Création d'un fichier HTML avec des balises spéciales
pour les champs dynamiques
Utiliser un éditeur comme dreamweaver pour "dessiner"
une page web générique, pouvant être utilisé
pour plusieurs pages de votre site. Créer des balises [@nom_colonne@]
pour définir l'endroit où vous souhaitez voir appraître
les données stockées dans la colonne de la table de
la base de données contenant le contenu des pages utilisant
ce template.
Sur l'exemple ci-dessous un template pour des pages de
type "Test de jeu vidéo" et entre les balises [@xxx@]
les colonnes d'une table de la base de données.

Transfert du fichier HTML pour le traduire en template
.tpl

Le bouton "parcourir" ouvre une fenêtre
permettant de choisir le fichier HTML sur votre disque-dur que vous
voulez transférer et transformer en template Tequilla. Une
fois le fichier selectionné cliquez sur "Transférer"
pour l'envoyer sur le serveur web. Votre fichier sera alors transformé
en .tpl et toutes vos balises [@donnée@] seront remplacés
par du code PHP afin de pouvoir être utilisé par le
système.
La liste des templates déjà transférés
et utilisables pour vos pages web s'affiche dans la deuxième
partie de la page.
Administration de la base de données
Présentation de l'outil TequillaAdmin

Consulter des enregistrements
La table de la base de données parcourue peut être
modifiée via la liste de valeurs du haut de page. Les boutons
Précedent et Suivant sont ensuite utiliser pour parcourir
les enregistrements séquentiellement, dans l'ordre de leur
création.
Nouveau/Modifier/Insérer
Le bouton Nouveau vide tous les champs pour pouvoir saisir
un nouvel enregistrement.
Le bouton Modifier permet de mettre à jour l'enregistrement
affiché.
Le bouton Insérer permet d'utiliser des informations
déjà saisies dans l'enregistrement courant pour en
créer un nouveau. C'est aussi ce bouton qui doit être
choisi pour enregistrer un nouvel enregistrement.
Les précédentes valeurs déjà
saisies dans les précédents enregistrements d'une
table sont accessibles via les listes de valeurs affichés
à droite des champs textes.
Supprimer
Supprime l'enregistrement affiché à l'écran
de la base de données. ATTENTION : action irréversible.
Construction dynamique des page web
Syntaxe des adresses pour construire les pages dynamiques
engine.php3?&Tx=table&Sx=template(sans extension)&Cx=condition(clause
where)&Ox=ordre(clause order by) |
Paramètre |
Signification |
t(xx) |
Table contenant les données de la page web à construire
dynamiquement |
s(xx) |
Style (template) à utiliser pour la présentation
(fichiers .tpl) |
c(xx) |
Condition, correspond à la clause WHERE de la
requête SQL (MySQL) |
o(xx) |
Ordre (trier), correspond à la clause ORDER BY de
la requpete SQL (MySQL) |
Les numéros de template (t), style (s) et condition (c) doivent
correspondre à une même page.
IMPORTANT : tous les liens vers des pages dynamiques à
l'intérieur de votre site doivent utiliser cette syntaxe.
Remarque : si il n'y a pas de conditions tous les enregistrements
seront lus et affichés avec le template choisi.
Exemple 1 : une table, un template
lemon/engine.php3?t1=test&s1=test&c1=idpage="TESTXBOX"
Affiche le template "test.tpl" en effectutant une requête
sur la table "test" : select * from test where id_page =
"TESTXBOX".
Exemple 2 : plusieurs tables, plusieurs templates
Si plusieurs associations template/table sont spécifiées,
les différentes pages construites seront regroupées
pour constituer une seule page web dynamique.
../lemon/engine.php3?t1=cv_civil&s1=cv_civil&t2=cv_skill&s2=cv_skill&s3=cv_titre_exp&t4=cv_exp&s4=cv_exp&
o4=annees desc &s5=cv_titre_school&t6=cv_school&s6=cv_school"
Construit un cv :
- bloc 1 : utilise la table cv_civil et le template cv_civil.tpl
pour afficher l'état civil dynamiquement.
- bloc 2 : utilise la table cv_skill et le template cv_skill.tpl
pour afficher les compétences, comme il n'y a pas de condition,
tous les enregistrements de la table cv_skill seront affichés
avec le template cv_skill.
- bloc 3 : utilise uniquement le template cv_titre_exp.tpl sans
aucune donnée pour afficher un titre statique afin de séparer
deux blocs du CV.
- bloc 4 : utilise la table cv_exp et le template cv_exp.tpl
pour afficher les expériences professionnelss, comme il n'y
a pas de condition, tous les enregistrements de la table cv_exp seront
affichés avec le template cv_exp mais le o4 spécifie
un tri par années.
- bloc 5 : utilise uniquement le template cv_titre_school.tpl
sans aucune donnée pour afficher un titre statique afin de
séparer deux blocs du CV.
- bloc 6 : utilise la table cv_school et le template cv_school.tpl
pour afficher les établissements scolaires fréquentés,
comme il n'y a pas de condition, tous les enregistrements de la table
cv_school seront affichés avec le template cv_school.
Ces deux exemples sont consultables sur http://matthias.fr.st.