Jelix

Jelix
Jelix
Logo jelix.png
Développeur Liste des contributeurs
Dernière version 1.2.0 (24 décembre 2010) [+/−]
Langue Français-Anglais
Type Framework
Licence LGPL
Site web jelix.org

Jelix est un framework PHP5 open-source, MVC, permettant le développement de tout type d'application.

Sommaire

Historique

Jelix est un framework pour PHP 5, créé fin 2005 par un Français, Laurent Jouanneau. Le site web du projet ouvrit officiellement ses portes le 1er janvier 2006.

À l'origine, le projet fut un fork du framework Copix (dont Laurent Jouanneau était l'un des principaux développeurs), mais très rapidement le cœur fut totalement réécrit, avec une autre approche MVC, et maintenant, seules quelques portions de Copix subsistent depuis la version 1.0 beta.

Depuis sa création, le framework est utilisé par de nombreux sites web[1], dont l'une des plus grosses plates-formes de blogs françaises[2].

Quelques articles de presse ont été publié, notamment dans la revue Linux-DVD[3].

Le projet Jelix n'est associé à aucune société particulière. Il est développé par une communauté de développeurs professionnels venant d'horizons divers et pour la plupart francophones.

Fonctionnalités

Jelix est basé sur le design pattern MVC et DAO qui permet une séparation logique du code. Il est distribué sous la licence LGPL.

  • Un ensemble d'API prenant en charge : accès aux données, moteur de templates, générateurs de contenus, générateur de formulaires, CRUD générique, authentification, gestion de droits, etc.
  • Une structure modulaire et une organisation des fichiers rigoureuse.
  • un respect du modèle MVC pour un découpage en couche du projet.

Quelques originalités :

  • Garantie sur les échanges de données : le framework fait le maximum pour que la réponse attendue par le client (navigateur ou autre) soit toujours dans le format attendu, même s'il y a des erreurs (volontaires ou non). Exemple : si le client attend une réponse en XMLRPC (suite à une requête en XMLRPC) et qu'une erreur survient, il ne recevra pas une page HTML en guise de message d'erreur.
  • Les vues sont encapsulées dans des objets "réponses". Les vues ne sont pas de simples templates. Il y a des objets réponses pour chaque type de réponse : page HTML, redirection, page XUL, fichier XML, fichier binaire, SOAP, XMLRPC, JSONRPC, etc. Chaque type d'objet réponse prend en charge toutes les spécificités du format de la réponse renvoyée et les en-têtes HTTP associés, facilitant le développement des contrôleurs. Et il est possible bien sûr de développer ses propres objets réponses, notamment pour spécifier certaines caractéristiques de toutes les pages web d'un site par exemple (template principal, feuille de styles...).
  • Jelix permet de développer des modules. Un module est un ensemble de fichiers concernant un domaine fonctionnel précis (exemple : un module "news" pour afficher et gérer des news). Les modules peuvent fonctionner indépendamment les uns des autres. Il est possible aussi pour le développeur de redéfinir certains fichiers d'un module tiers sans toucher aux fichiers originaux, permettant des mises à jour plus simples.
  • Jelix propose un système de formulaire puissant et modifiable dynamiquement, jForms, qui respecte le modèle MVC.
  • Un composant, jDao, associé à jDb, la couche d'abstraction de base de donnée, permet de faire du "mapping" relationnel objet. Il est simple à utiliser, mais n'est cependant pas aussi puissant que d'autres ORM (propel, doctrine, etc.)
  • un moteur d'URL permet de déclarer des URL associés à des contrôleurs précis, mais aussi de générer automatiquement les URL en donnant uniquement le nom du contrôleur et ses paramètres. Cela évite d'avoir des URL en dur dans le code et les templates, permettant alors une modification plus souple de l'organisation des URL du site.
  • Un contrôleur générique est disponible pour faire du CRUD, c'est-à-dire qu'il comporte toutes les actions pour lister une table, éditer ou supprimer des enregistrements. Il suffit juste de lui indiquer un objet jDao et un fichier jForms. Il est bien sûr hautement paramétrable.
  • un installeur complet pour gérer son application de A à Z, allant de l'installation des tables à leur mise à jour en passant par la copie des fichiers nécessaire aux modules.
  • un système de wizard pour enchainer l'installation des modules de son choix au sein de sa propre application
  • des modules pour réaliser une interface d'administration sont livrés.
  • La plupart des composants de Jelix ont un système de "plugins", permettant de modifier ou d'étendre leurs comportements, selon les besoins.
  • Possibilité de développer des applications en ligne de commandes basées sur Jelix.
  • Des scripts en ligne de commandes permet de créer rapidement une application, générer des fichiers pour l'application, et de faire d'autres opérations utiles pour le développement.
  • Les manuels et tutoriels sont disponibles à la fois en français et en anglais.

Jelix possède aussi de nombreuses autres fonctionnalités que l'on retrouve dans d'autres frameworks PHP.

Etat du projet

  • La version 1.2 est sortie pour noël 2010
  • La version 1.1 est sortie en février 2009
  • La première version stable 1.0 est sortie en janvier 2008

Des versions correctives de ces deux branches sortent régulièrement.

  • Dernière en date pour la branche 1.2 : 1.2.0 sortie le 24 décembre 2010
  • Dernière en date pour la branche 1.1 : 1.1.7 sortie le 9 octobre 2010
  • Dernière en date pour la branche 1.0 : 1.0.13 sortie le 26 septembre 2010

La branche 1.2 apporte de nombreuses nouveautés :

  • nouvelle gestion des modules
  • nouveau système d'installation et de mise à jour
  • nouveau système d'assistant graphique (wizard configurable) pour l'installation des applications jelix
  • amélioration de la performance et de la flexibilité des profiles jDb
  • nouvelle classe jCache pour stocker tout ce que vous voulez dans un cache, où vous voulez (memcache, files..)
  • possibilité de mettre hors ligne une application facilement
  • support des bases de données nosql avec jKVDb
  • mise à jour de TCPDF en 4.5.015
  • mise à jour de Wikirenderer en 3.1.2

Voir aussi

Liens externes

Notes et références



Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Jelix de Wikipédia en français (auteurs)

Игры ⚽ Нужна курсовая?

Regardez d'autres dictionnaires:

  • haveFnuBB — HaveFnuBB! Développeur FoxMaSk aka Olivier Demah (leader) Version avancée 1.4.0 (03/04/2011) [ …   Wikipédia en Français

  • List of web application frameworks — This is a list of notable web application frameworks, used for creating web applications. Client side ActionScript * Cairngorm * PureMVCJavaScript* Backbase * CJAX * Clean AJAX * Dojo Toolkit * Echo * Ext * [http://www.gapjumper.com/ Gapjumper] * …   Wikipedia

  • OverBlog — URL http://www.over blog.com/ Description Création et hébergement de blogs …   Wikipédia en Français

  • Model-view-controller — (MVC) is an architectural pattern used in software engineering. Successful use of the pattern isolates business logic from user interface considerations, resulting in an application where it is easier to modify either the visual appearance of the …   Wikipedia

  • Comparison of web application frameworks — This is a comparison of notable web application frameworks. Contents 1 General 1.1 Perl 1.2 PHP 1.3 Java 1.4 Python …   Wikipedia

  • Grzega — Joachim Grzega Joachim Grzega [ˈɡʒeːɡa; ˈkʃeːɡa] (* 9. September 1971 in Treuchtlingen) ist ein deutscher Sprachwissenschaftler und Sprachdidaktiker. Er lehrt seit 1998 an der Katholischen Universität Eichstätt Ingolstadt ( …   Deutsch Wikipedia

  • Joachim Grzega — [ˈɡʒeːɡa] (* 9. September 1971 in Treuchtlingen) ist ein deutscher Sprachwissenschaftler und Sprachdidaktiker. Leben Joachim Grzega studierte Englisch und Französisch in Eichstätt, Salt Lake City …   Deutsch Wikipedia

  • Atelier de développement — Framework Voir « framework » sur le Wiktionnaire …   Wikipédia en Français

  • Cadre d'applications — Framework Voir « framework » sur le Wiktionnaire …   Wikipédia en Français

  • Cadriciel — Framework Voir « framework » sur le Wiktionnaire …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”