Documentation
Installation
Table des matières ▼
Prérequis
Pour utiliser Temma, vous avez besoin d'un hébergement Web exploitant l'interpréteur PHP en version 8.0 ou supérieure.
Temma peut utiliser toutes les bases de données supportées par l'extension PDO, ainsi que la base noSQL Redis, et le serveur de cache Memcached.
Télécharger Temma
Pour télécharger et utiliser Temma, vous pouvez cloner le dépôt GitHub :
$ git clone https://github.com/Amaury/Temma mon_projet
Vous pouvez aussi télécharger et décompresser l'archive : https://github.com/Amaury/Temma/archive/master.zip
Télécharger Smarty
Si vous utilisez Temma pour créer une API sans génération de page HTML, vous n'aurez pas besoin du moteur de templates Smarty. Dans le cas inverse, Temma a besoin de Smarty en version 4 ou plus (si vous utilisez PHP 8.1, il vous faudra Smarty 4.1).
Veuillez télécharger l'archive (format ZIP ou TAR.GZ) de la dernière version de Smarty.
En décompressant l'archive, vous verrez un sous-répetoire libs/. Renommez-le smarty4 puis déplacez-le dans le répertoire lib/ de votre projet.
Installer Temma
Une fois le dépôt Git cloné, définissez les droits sur les répertoires :
$ cd mon_projet; chmod 755 log tmp
Ensuite, il faut savoir si vous utilisez la configuration Apache ou la configuration par fichiers .htaccess.
Fichiers .htaccess
Les fichiers .htaccess sont nécessaires en cas d'hébergement mutualisé.
Si c'est votre cas, vous n'avez rien à faire. Les fichiers sont déjà présents à la racine et dans le répertoire www/.
Serveur Apache
La configuration Apache est à utiliser si vous avez votre propre serveur dédié.
Vous trouverez un fichier d'exemple dans le répertoire etc/, à adapter en fonction de vos besoins.
Il vous faudra en plus effacer les fichiers .htaccess existants :
$ cd mon_projet; rm -f .htaccess www/.htaccess
Arborescence du projet
Voici le contenu d'un projet Temma :
mon_site/
bin/
controllers/
etc/
temma.json
apache.conf
lib/
Temma/
smarty/
smarty-plugins/
log/
temma.log
templates/
tmp/
var/
views/
www/
index.php
- bin : Contient vos scripts de maintenance.
- controllers : Répertoire principal pour vos contrôleurs.
-
etc : Répertoire de configuration
- temma.json : Fichier de configuration du projet.
- apache.conf : Fichier de configuration du "virtual host", dans le cas d'un serveur Apache.
-
lib : Répertoire de base contenant les bibliothèques externes, mais aussi vos objets métier.
- Temma : Le code du framework.
- smarty : Moteur de template Smarty.
- smarty-plugins : Plugins Smarty proposés par Temma.
-
log : Répertoire contenant les fichiers de log.
- temma.log : Fichiers de log du projet.
- templates : Répertoire contenant les templates.
- tmp : Répertoire des fichiers temporaires.
- var : Répertoire optionnel, pouvant contenir les fichiers de données de votre application.
- views : Répertoire optionnel, pouvant contenir vos propres vues.
-
www : Répertoire racine du site web, contenant tous les fichiers CSS, Javascript et les images.
- index.php : script PHP principal, qui démarre le framework.
Précédent : | Migration |
Suivant : | Configuration |
Table des matières
- Migration : Comment passer de Temma 1.x à la version 2
- Installation : Télécharger Temma et l'installer pour démarrer votre projet Web
- Configuration : Toutes les directives de configuration du fichier etc/temma.json et les variables d'environnement utilisables en option
- Bibliothèques externes : Comment utiliser des bibliothèques de fonctions externes
- Routage : Le système de routage par défaut de Temma, et le routage avancé
- Log : Utilisation du système de log, gestion par niveaux de criticité
- Contrôleurs : Pièces essentiels de votre application Web
- Vues : Templates Smarty ou exports JSON/CSV/RSS/iCal/INI
- Injection de dépendances : La colonne vertébrale de vos développements applicatifs
- Sessions : Extension des sessions utilisateurs gérées par PHP
- Sources de données : Pour gérer l'accès aux données de manière unifiée
- Modèle : Comment utiliser les DAO pour accéder aux bases de données
- Flux d'exécution : Comment gérer le flux d'exécution, entre les plugins et le contrôleur
- Plugins : Comment utiliser les plugins, et écrire les vôtres pour modulariser votre code
- Attributs : Comment filtrer l'accès aux contrôleurs et aux actions
- Tests : Pour écrire des tests d'intégration automatisés.
- Interface en ligne de commande : Pour créer des scripts exécutables en ligne de commande, initialisés automatiquement par Temma
- Helpers : Objets proposés par Temma pour vous aider dans plusieurs circonstances