Aller au contenu | Aller au menu | Aller à la recherche

Jelix 1.3 et au delà

10 mois après la version 1.2, voici la version 1.3, avec son lot de nouvelles fonctionnalités. J'ai pu amélioré et stabiliser cette version 1.3 sur des projets clients, dont un gros projet de plusieurs mois (application B2B), et qui tourne maintenant en production.

Pour ceux qui n'ont pas suivi l'actu Jelix ces dernières semaines ou mois, sachez que ça a pas mal bougé avec l'aide des contributeurs :

  • migration des sources de bitbucket vers github
  • migration des services jelix.org sur un nouveau serveur plus puissant
  • nouveau site, booster.jelix.org, qui référence les modules et plugins existants pour jelix, réalisés par des utilisateurs et contributeurs.
  • une nouvelle charte graphique du portail est en préparation, avec une toute nouvelle et belle page d'accueil. Le forum sera aussi migré vers la version 1.5pre de havefnubb.

Et puis je réfléchi en ce moment à la version suivante. J'ai bien sûr des tonnes d'idées d'améliorations, dont pas mal dorment dans le bug tracker depuis des lustres. Reste qu'il faut les prioriser, et puis décider si c'est le moment ou pas de casser des choses pour mieux les refaire. Voir de casser des choses pour profiter de ce qui est déjà fait ailleurs (comprendre, réutiliser des composants existants).

La mode est au 2.0 en ce moment : Symfony 2.0, CakePHP 2.0, et bientôt Zend 2.0. La concurrence est rude et soutient un rythme plutôt soutenu :-). Jelix était en avance sur certains points. Il va falloir garder cette avance, et rattraper certains retards. Un challenge continuel.

Par exemple, Symfony 2 vient d'intégrer le concept de "bundles", qu'on appelle "modules" ici dans Jelix. Jelix a ce principe de module[1] depuis sa naissance en 2006, et on peut même dire que ça date depuis 2002 si je me souviens bien, puisque je l'avais implémenté pour la première fois dans Copix, l'ancêtre de Jelix. Symfony 2 et CakePHP 2 mettent aussi plus en avant l’interaction avec des objets représentant la requête et la réponse HTTP, un concept dominant dans Jelix depuis ses débuts. Mais Jelix a perdu du terrain par exemple sur les problématiques de cache. Ainsi il n'y a pas encore de prise en charge du mécanisme de cache de HTTP. Même si il est tout à fait possible de le faire actuellement "à la main". C'est quelque chose que l'on va améliorer (un patch est en review ;-)), entre autres choses (par exemple la couche ORM mériterait qu'on la rénove)..

Certaines améliorations vont pouvoir être faites sans casser les applis existantes, donc qui auront leur place dans une version 1.4 ou 1.5. Mais d'autres devront être faite dans une version 2.0 qui cassera quelques compatibilités. Cependant, pour le moment, la vision que j'ai d'un Jelix 2.0, ne remettra pas en cause fondamentalement les principes du framework. Je pense qu'il y aura moyen de faire des profondes modifications dans le noyau, sans rendre totalement incompatibles les modules existants. En effet, l'organisation des sources dans les modules Jelix est suffisamment structurée et éprouvée pour pouvoir ajouter d'autres types de fichiers sans bouleverser le reste. D'ailleurs, une des tendances des frameworks, d'après ce que je vois, est de structurer assez fortement l'organisation des sources, et de le faire de manière à ce que ce soit modulaire, extensible. Ce que fait Jelix depuis 6 ans maintenant ;-).

Bref, proposer toujours plus de fonctionnalités, en évitant de trop casser l'existant :-)

Une dernière chose, Jelix est un projet encore à "taille humaine". Tout contributeur potentiel peut y trouver sa place facilement[2], et il y a de quoi faire ;-). Et nous, les contributeurs actuels et moi, sommes ouvert à toute discussion, pour permettre aux développeurs de construire leurs projets de manière toujours plus efficace et plus robuste.

Venez imaginer avec nous le framework du futur[3]!

Notes

[1] Je dois reconnaître que Symfony pousse le concept un peu plus loin, mais il va suffire de peu de chose dans Jelix pour être "à niveau"

[2] ce qui est plus difficile dans un projet à plusieurs centaines de contributeurs

[3] en PHP bien sûr ;-)

Commentaires

1. Le jeudi, octobre 20 2011, 12:25 par Pierre Martin

Bravo pour cette release, beau boulot !

Le lien vers Github est cassé, c'est bien sûr https://github.com/jelix/jelix/ ;)

2. Le jeudi, octobre 20 2011, 13:23 par Laurentj

Merci Pierre. Et le lien est corrigé :-)

3. Le jeudi, octobre 20 2011, 13:29 par foxmask

Bonjour,
pour le (2) c'est tout à fait vrai, quand je suis arrivé il y a bientôt 3ans sur le projet j'avais émis mes envies lors d'un Summit Jelix et au final me v'la dans le bain depuis. Si on en veut, on a sa place.
J'en profiterai pour dire merci pour la place offerte, et que l'aventure continue encore et encore ! Il y a tant à faire en s'éclatant avec Jelix !

Pour revenir sur les évolutions, vu de ma lucarne, l'ORM est très bien mais si on pouvait arriver à obtenir de la gestion des modèles à la CakePHP par exemple (avec notamment le HABTM " hasAndBelongsToMany" pour lier plusiers tables entre elles et faire un "save" qui enregistre les données dans toutes les tables en une seule fois), là on aurait, je pense plus rien à envier aux voisins.

Encore bravo pour la 1.3.
@+

4. Le jeudi, octobre 20 2011, 17:14 par Vincentv

@foxmask hum à la place de cakePHP, il faut plutôt regarder ActiveRecord de ror ^^ (directement à la source :p).

pour les templates je trouve l'idée de mustache(http://mustache.github.com/) sympathique :)

pour les validations des formulaires en js il y a des libs qui commencent a devenir sympathique.

Ah! et promis, je vais essayé de me trouver du temps pour contribuer :p

5. Le vendredi, octobre 21 2011, 10:59 par foxmask

Oui!
un autre truc serait de pouvoir choisir le framework javascript de son choix, jQuery, YUI (coucou Hadrien:), ou d'autres :)
Ca impliquerait de changer le plugin jformsbuilder et le jforms.js pour en avoir un chacun

6. Le samedi, octobre 22 2011, 23:38 par Blogger

Bravo pour cette nouvelle version :)

J'espère que dans le future de Jelix, il va rester simple, quand je vois cette ligne dans le doc de SF2, ça me fous vraiment les boules ces noms à rallonge:

new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle();

SF2, FLOW3, ces nouveaux frameworks me paraissent vraiment compliqué...comparé à Jelix :)

7. Le mardi, novembre 1 2011, 14:29 par Cedric

Concernant l'ORM, et à part l'API, je ne trouve pas les DAOs spécialement vieillots. Au lieu de faire évoluer DAO (insert multi-tables, etc.), pourquoi ne pas le conserver tel quel pour bénéficier d'un ORM simple et rapide, tout en permettant une intégration propre et fiable de Jelix avec un ORM existant, tel que Doctrine ? On pourrait ainsi utiliser l'un ou l'autre selon les cas, y compris au sein d'un même projet.

Attention à ne pas transformer Jelix en usine à gaz. Ce qui m'a fait m'intéresser à Jelix, c'est précisément parce que ce n'était pas un Symfony.

Maintenant, il ne s'agit que d'un avis personnel... mais je le partage ;-)

8. Le mardi, novembre 1 2011, 14:33 par Cedric

J'ajouterais que Jelix a, de mont point de vue, intérêt à conserver une certaine spécificité. Si son but est de rattraper le retard pour le transformer en Symfony (cf. ton billet : module vs bundles, orm, etc.), le risque est grand pour que certains utilisateurs en viennent à utiliser ce dernier...

9. Le mercredi, novembre 9 2011, 13:53 par Sylvain

Je vois que http://jelix.org a revêtu son nouvel habillage. En effet, celui que j'avais conçu à l'époque commençait à dater.

Par contre ravi de voir que le logo est resté là :) (même si la typo que j'avais choisi est toujours aussi pourrave).

La discussion continue ailleurs

1. Le jeudi, octobre 20 2011, 11:57 par jelixfmk

jelixfmk's status on Thursday, 20-Oct-11 09:57:16 UTC

[fr] Billet sur Jelix 1.3 http://ur1.ca/5ga4p...

2. Le jeudi, octobre 20 2011, 13:11 par havefnubb

havefnubb's status on Thursday, 20-Oct-11 11:11:30 UTC

RT @jelixfmk [fr] Billet sur Jelix 1.3 http://ur1.ca/5ga4p...