Raccourcis : Contenu - rubriques - sous rubriques
EN FR

Piste : presentation

Wiki: Plan du site - Derniers changements - Back link

Ceci est une ancienne révision du document !


Présentation de Jelix

Généralités

Jelix est un framework pour PHP5, dont l'objectif est d'aider à la réalisation d'applications ou de site web en tout genre.

Il propose au développeur :

  • un ensemble d'API qui prend en charge nombre d'aspect technique : accés aux données, cinématique MVC, templates, générateurs de sorties (HTML, XUL..), services web (xml-rpc, json-rpc), authentification, gestion de droits, localisation etc..
  • une structure modulaire et une organisation des fichiers du projets, imposant donc un cadre et des normes de développement.
  • un découpage “en couche” du projet : presentation, coordination, service, métier, persistance.

Ces caractéristiques permettent une meilleure réutilisation du code, une capitalisation du savoir-faire, une meilleure organisation dans le développement, tout ceci ayant alors pour conséquence une meilleure productivité.

Jelix utilise au maximum les spécificités de PHP5, afin d'être le plus léger et le plus performant possible. C'est pourquoi un projet basé sur Jelix est 100% objet.

Fonctionnalités proposées

  • L'architecture du coeur est du type MVC (Model-View-Controller). Un coordinateur se charge de lancer l'execution d'une action précise en fonction des paramètres dans l'url. Les actions possibles sont déclarées dans des fichiers XML, et leur traitement sont à réaliser dans des classes de type jActionGroup.
  • Architecture modulaire : une application peut être découpée en plusieurs modules réutilisables
  • Moteur de template léger et évolutif (jTpl), avec une syntaxe à mi-chemin entre Smarty et PHP.
  • Couche d'abstraction d'accés aux bases de données : jDb repose sur PDO ou sur ses propres classes (quand PDO n'est pas disponible) pour accéder aux bases de données.
  • jDAO, mapping objet-relationnel reposant sur le design pattern DAO (Data Access Object), se basant sur des fichiers déclaratifs en XML et prenant en charge la génération automatiques des requêtes SQL, des problèmatiques de sécurité (SQL injection etc…)
  • Système évenementiel, permettant la communication inter-module.
  • Localisation : stockage des messages localisé dans des fichiers properties
  • surcharge de fichier : il est possible de redéfinir certains fichiers d'un module sans toucher aux originaux (dao, template, properties). Utile lorsqu'un module est utilisé par plusieurs applications à la fois, ou pour faciliter la mise à jour d'un module tierce.
  • système de thèmes : il est possible de définir plusieurs themes, chacun redefinissant les templates des modules.
  • Utilisation abondante du XML : déclaration des actions, des évènements, des DAOs etc… Cela permet de faciliter l'écriture, de générer et modifier facilement ces parties d'un projet par des outils tiers, et donc d'accroitre la productivité.
  • système de cache technique : quasiement tous les fichiers non PHP d'un projet sont “compilés” en PHP afin d'améliorer les performances (templates, dao, actions, evenements etc..).
  • des scripts PHP à executer en ligne de commande, permettant la création rapide des divers fichiers d'un projet (module, dao, template, actiongroup etc)

Une première application

fr/presentation.1135869557.txt.gz · Dernière modification : 2006/10/17 20:31 (modification externe)
Fils rss des changements récents dans le wiki Creative Commons License