Documentation


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
  • Mise à jour : Garder Temma à jour sur vos projets Web
  • Configuration : Toutes les directives de configuration du fichier temma.json
  • 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é
    • Gestionnaires de log : Comment créer vos gestionnaires de log
    • Syslog : Pour envoyer vos logs sur un serveur Syslog
    • Datadog : Pour envoyer vos logs sur le service Datadog
  • Contrôleurs : Pièces essentiels de votre application Web
  • Vues : Templates Smarty ou exports JSON/CSV/RSS/iCal/INI
    • Smarty : Vue par défaut, utilisant des templates Smarty
    • JSON : Export JSON, avec ou sans validation des données
    • CSV : Export CSV
    • RSS : Export de flux RSS
    • INI : Export au format INI
    • iCal : Export de calendrier iCal
  • Objets internes : Les objets internes de Temma (Config, Request, Response, Session)
  • 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
    • SQL : Accès aux bases de données relationnelles
    • Memcache : Accès aux serveurs Memcached
    • Redis : Accès aux serveurs Redis
    • File : Accès au stockage de fichiers locaux
    • S3 : Accès au stockage Amazon S3
    • Socket : Communication réseau
    • ZeroMQ : Communication réseau utilisant la bibliothèque ZeroMQ
    • SQS : Accès aux files de messages Amazon SQS
    • Beanstalk : Accès aux serveurs de file de messages Beanstalkd
    • Smsmode : Pour envoyer des SMS vers des téléphones portables
    • Slack : Pour envoyer des notifications sur Slack
    • Discord : Pour envoyer des messages sur Discord
    • Pushover : Pour envoyer des notifications push sur mobile
  • 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
  • Événements envoyés par le serveur : Pour envoyer des événements en temps réel du serveur vers le client
  • Helpers : Objets proposés par Temma pour vous aider dans plusieurs circonstances
    • Scripts en ligne de commande
      • Cache : Pour vider le cache.
      • User : Pour gérer les utilisateurs.
    • Contrôleur + plugin
      • Auth : Contrôleur et plugin servant à gérer l'authentification des utilisateurs
    • Plugins
      • Api : Pour gérer les accès à une API
      • Cache : Pour mettre en cache les pages HTML générées
      • Debug : Pour faciliter le débogage de projets Temma
      • KebabCaseUrl : Pour gérer les URLs au format kebab case
      • Langue : Gestion de la localisation multilingue
    • Attributs
      • Auth : Pour restreindre les accès aux utilisateurs authentifiés
      • View : Pour gérer la vue des contrôleurs et des actions
      • Template : Pour définir le chemin vers le fichier de template
      • Method : Pour gérer les méthodes HTTP autorisées
      • Referer : Pour filtrer les accès par HTTP REFERER
      • Redirect : Pour rediriger les requêtes automatiquement
    • Plugins Smarty
      • dump : Modificateur et balise de bloc servant à dumper des données Modificateur transformant un texte en URL
      • urlize : Modificateur transformant un texte en URL
      • filenamize : Modificateur transformant un texte en nom de fichier
      • nbsp : Modificateur transformant des espaces en espaces non sécables
    • Objets utilitaires
      • ANSI : Pour mettre en forme les textes écrits sur la sortie standard
      • BaseConvert : Pour faire des conversions de bases numériques
      • DataFilter : Pour filtrer et valider des données
      • Dumper : Pour dumper des données
      • Email : Pour envoyer des emails
      • ExtendedArray : Opérations supplémentaires sur les tableaux
      • File : Opérations supplémentaires sur les fichiers
      • HTMLCleaner : Pour nettoyer un flux HTML provenant d'un éditeur WYSIWYG
      • Serializer : Pour sérialiser/désérialiser des données
      • Lock : Pour verrouiller l'accès à un fichier, ou l'exécution du script PHP courant
      • Misc : Fonctionnalités diverses.
      • Registry : Pour stocker proprement des variables globales
      • Smarty : Pour traiter des templates Smarty en dehors de la vue
      • Term : Gestion des terminaux (TTY)
      • Text : Différents traitements sur les chaînes de caractères
      • Timer : Pour gérer des chronomètres

Composants

Migration

Les principales différences entre Temma 1.x et la version 2

Installation

L'installation de Temma se fait très simplement

Configuration

La configuration de Temma repose sur un fichier PHP et des variables d'environnement en option

Bibliothèques externes

Intégrez facilement des bibliothèques externes à vos projets

Routage

Le système de routage de Temma est volontairement très simple par défaut, mais peut être étendu

Log

L'écriture dans les fichiers de log se fait de manière simple et expressive, facilitant le débogage

Contrôleurs

Les contrôleurs de Temma sont simples à créer et manipuler, et peuvent être facilement étendus

Vues

Templates Smarty par défaut, mais aussi des exports JSON, CSV, RSS, iCal, INI

Injection de dépendances

Ce composant est la colonne vertébrale de vos développements applicatifs

Sessions

Enregistrez des données relatives à une session utilisateur, pour passer à un fonctionnement à état

Sources de données

Accès unifié à différentes sources de données (SQL, Redis, Memcache, fichiers, S3, SQS, Beanstalkd…)

Modèle

L'accès aux bases de données se fait en utilisant le pattern DAO, avec ou sans cache

Flux d'exécution

Temma utilise un système de plugins facile à manipuler pour gérer l'exécution des requêtes

Plugins

Modifiez le comportement de votre application en utilisant des plugins pré- ou post-contrôleur

Attributs

Protégez ou modifiez l'accès aux contrôleurs et aux actions en utilisant des attributs PHP

Tests

Écrivez des scripts de test automatisés

Interface en ligne de commande

Exécutez facilement des scripts en ligne de commande, initialisés par Temma

Événements envoyés par le serveur

Pour envoyer des événements en temps réel du serveur vers le client

Helpers

Temma propose plusieurs objets pour faciliter divers traitements