Raccourcis : Contenu - Liste des blogs
en fr

Jelix
La planète

Blogs

Vous voulez que votre blog soit intégré à cette liste ? Envoyez un mail à laurent chez jelix.org.

Les derniers billets

Jelix PHP 5 Bouillon de Cultures

12-01-2012 à 10:13:36
Je ne vous présente plus Jelix, le framework PHP5, voici juste quelques news de ce dernier qui pourront vous intéresser Récemment ouverte chez googlegroups, la mailing-list Jelix-fr est le terrain de riches discussions sur le devenir du framework. Terrain fertile depuis que les statistiques de téléchargements ont décolé significativement ! Parmi les échanges on retrouve la réorganisation et réaménagement des roadmaps pour permettre aux contributeurs de mieux s’y retrouver. Ainsi sont abordés pour les versions [...]

Jelix 1.3 et au delà

20-10-2011 à 10:22:08

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 ;-)

Jelix PHP5 Framework, version 1.3.0 dans les bacs

19-10-2011 à 13:06:08
Le framework PHP5, Jelix, sort une nouvelle version majeure (*) : 1.3. Cette dernière a mis l’accent sur de nombreuses améliorations et nouveautés, dont une meilleure gestion des erreurs et des améliorations du système de log une nouvelle barre de debuggage, extensible (que je vous avais présenté) un objet réponse html amélioré, et extensible des simplifications dans la structure d’une application, et dans les scripts d’aide au développement une gestion des profils de connexion unifiée [...]

HaveFnuBB Thème Twitter Bootstrap

02-10-2011 à 14:38:58
Après de longs mois sans trop faire avancer le projet (la faute aux vacances et à Booster.jelix.org ) voici donc après quelques temps d’adaptation au toolkit tout en un qu’est Twitter BootStrap, je me suis lancé sur la création d’un thème pour HaveFnubb, voici ce que ça donne : La page d’accueil La liste des messages Encore quelques pages et ca devrait être pas mal au final. rg ) voici donc après quelques temps d’adaptation [...]

Jelix PHP5 Framework tout neuf

23-09-2011 à 16:18:53
Bonjour, En ces temps de « rentrée », Jelix annonce, lui, plusieurs « sorties » ! Number one : nouveau serveur dédié pour le projet ! Le précédent avait été gracieusement offert par Bastnic mais avait fini par se sentir mal (et nous avait fait des frayeurs dernièrement;) Number Two : nouveau projet Booster. Ce site va permettre à la communauté Jelix de trouver un dépôt unique, central, de toutes les ressources Jelix existantes produites par la communauté, et [...]

Jelix : de Mercurial à Git

01-09-2011 à 06:08:33

Depuis deux ans déjà, j'ai complètement abandonné subversion et utilisé Mercurial pour gérer le code source de mes projets. J'avais choisi Mercurial au départ parce que je devais l'utiliser pour contribuer à Firefox. J'avais alors apprécié le produit et l'avais adopté pour mes autres projets personnels. Pour les projets professionnels comme chez Zoomorama, et ou pour Jelix, nous (moi et mes collègues ou les contributeurs) avions étudié bien sûr Git avant de choisir Mercurial. À l'époque, Mercurial paraissait plus simple d'utilisation : des commandes plus claires, plus concises, moins verbeuse. Il avait aussi un meilleur support multi-plateforme en particulier sous windows. Ce dernier critère me paraissait essentiel par exemple pour Jelix, car j'avais des contributeurs sous Windows.

Au fil du temps, en particulier dans le projet Jelix, la gestion des branches de Mercurial me paraissait de plus en plus limitante. Une branche ne pouvant être supprimée, il est préférable de cloner le dépôt pour développer une nouvelle fonctionnalité, de manière d'une part à garder une branche "officielle" relativement stable, et d'autre part pour ne pas se retrouver au bout d'un moment avec 50 branches qui ne servent à plus rien. En fait, dans Mercurial, il est tout à fait naturel et normal de cloner un dépôt, un clone devenant implicitement une branche.

Mais à la longue, cette manière de faire devient assez lourde, on se retrouve avec de multiples clones sur son disque, même si on peut les supprimer quand on n'en a plus besoin.

L'alternative alors dans Mercurial est d'utiliser les "queues" de Mercurial, alias mq. C'est un système qui permet de gérer une pile de patchs. C'est quelque chose que j'apprécie particulièrement, et très utile pour les projets où le mode de collaboration impose la soumission de patchs pour être revues, avant de les committer dans le dépôt du projet. C'est ainsi que fonctionne le projet Mozilla et Jelix jusqu'à maintenant. L'autre avantage de mq est que cela évite d'avoir de multiples commits dans l'historique : on a au final un seul commit correspondant à un patch complet[1] qui fonctionne, puisqu'il a normalement été revue par une personne tierce.

Cependant cela n'élimine pas un autre souci qui m'agaçait de plus en plus dans la gestion du projet, et qui est lié à la revue de code : il est compliqué de commenter les patchs. Que ce soit dans le Trac de Jelix ou sur Bitbucket, site sur lequel est hébergé le code source de Jelix, il n'y a pas la possibilité de commenter ligne à ligne. Ça alourdi la revue de code. Ça alourdi le processus de contribution.

À propos de Bitbucket, le site n'est pas trop mal. Mais les fonctionnalités ne sont pas aussi évoluées que son concurrent principal, Github. Il évolue, mais pas aussi vite que Github, et j'ai même l'impression que depuis son rachat par Atlassian, le projet est un peu moins actif. Des fonctionnalités comme la revue de code sont attendues depuis des lustres par beaucoup d'utilisateurs, mais on ne voit toujours rien venir.

Autre point, le couple Git/Github semble maintenant avoir une popularité qui surpasse celle des autres systèmes de "versionning".

J'ai donc décidé, pour Jelix, après en avoir discuté avec mes contributeurs, de passer à Git, et d’héberger le projet sur Github. J'ai été convaincu par la gestion des branches de Git, beaucoup plus souple. En effet, pour les utilisateurs de Mercurial, sachez qu'une branche dans Github s'apparente à un bookmark dans Mercurial (mais Bitbucket ne prend pas en charge les bookmarks). De plus, Github est fonctionnellement beaucoup plus puissant, avec un système de revue de code bien conçu. Cela va nous permettre d'avoir un "workflow" plus fluide pour les contributions, plus simple.

Bref, un nouveau chapitre se tourne dans l'histoire du projet Jelix, qui est de plus marqué par la sortie de la première version candidate de Jelix 1.3 ;-).

"Forkez" Jelix !

Notes

[1] pour les grosses contributions, on peut avoir plusieurs commits correspondant à plusieurs étapes de la modification, mais l'historique reste tout de même clair

Coder en beauté avec KomodEdit pour Jelix

04-08-2011 à 14:00:58
Développer peut devenir un plaisir visuel avant même la fin de la première ligne de code écrite. TextMate ren franchement le code lisible et agréable à lire. Pour ceux n’étant pas sous Mac, avec KomodoEdit (l’éditeur reposant sur le moteur Gecko 3.6), rien de plus simple, une CSS et le tour est joué ! « Et si ma bonne dame » Pour les besoins de rédaction de code Jelix, je me sers de ce fichier que je [...]

la Debug Barre Jelix ‘chocolatée’

28-07-2011 à 10:12:45
Ce billet va aborder une nouvelle fonctionnalité pour nous autres développeurs Jelix grâce à un nouvel outil dont on ne disposait pas jusqu’à la version 1.3, une DebugBar. Comme son nom le laisse présupposer elle aide au déboggage de son code. D’autres frameworks en disposaient déjà mais nous pas, ce qui ne nous empêchait pas pour autant de produire du code nickel (si si ) Mais à présent on a notre joujou et je m’en [...]

Huanui et Jelix parlent à l’oreille de Twitter

18-07-2011 à 23:59:37
Ce billet aura pour but de vous montrer comment un petit module ici, hua_twitter, permettra à tout à chacun (utilisant jelix) d’envoyer des gazouillis sur le compte du membre de son site ou à défaut sur le sien à la fin de l’article, vous aurez un lien vers les sources du module hua_twitter. Scénario : le scénario est le suivant : depuis ses préférences, un membre décide (ou non) que les tweets soient envoyés à [...]

Raccourcisseur d’URLs avec urlHandler de Jelix

09-07-2011 à 00:44:54
Le but de ce billet sera de vous montrer comment coder un raccourcisseur d’urls grâce à l’ urlHandler, l’ultime outil de gestion de routage d’URLs. Dans cet ancien billet, je vous présentais toute la force de jUrl, le système d’URLs automatiques, ainsi que la configuration de ses routes au travers de fichiers XML, urls.xml. Depuis, Jelix a fait du chemin et à présent (depuis la version 1.2) on peut en plus, inclure des « sous » urls.xml [...]

Testez la beta de Jelix 1.3

07-06-2011 à 19:22:53

J'ai sorti ce week-end dernier la beta du framework PHP Jelix 1.3. Pas mal de nouveautés sont disponibles.

Tout d'abord, quelques allègements dans la structure d'une application : il y a maintenant qu'un seul boostrap application.init.php pour tous les points d'entrées, et un seul répertoire temporaire. Ensuite, le script jelix.php pour lancer des commandes d'aide au développement, a été remplacé par un script cmd.php qui est placé dans l'application. Son utilisation est alors facilitée puisqu'on n'a plus le nom de l'application à indiquer en argument.

Il y a une nouvelle gestion des erreurs et des exceptions, plus puissante, mais aussi plus conviviale. Les messages d'erreurs sont en effet maintenant pris en charge par le système de log de Jelix, qui a lui aussi connu des évolutions (il a maintenant un système de plugin). On peut aussi fournir sa propre page d'erreur, permettant d'afficher un message "convivial" à l'utilisateur, avec le look de l'appli, plutôt qu'un message technique barbare sur une page blanche.

Deuxième grosse nouveauté : le développeur peut activer la toute nouvelle barre de debug pour avoir un affichage détaillé des erreurs, mais aussi des logs, de la liste des requêtes SQL, des messages SOAP, du contenu de la session etc. Et comme la barre est extensible, on peut développer/ajouter des plugins pour afficher d'autres informations.

Du travail a aussi été fait pour faciliter le développement de tests PHPUnit pour une appli Jelix. L'intégration de Simpletest, bien que toujours disponible, est considérée maintenant comme obsolète. D'ailleurs la migration des tests de Jelix vers PHPUnit a commencé.

Enfin le système de droits jAcl2 a vu quelques améliorations techniques, mais aussi au niveau de l'interface de gestion de droits. Et puis bien sûr, une tonne de petites améliorations ont été faite ici et là.

Pour la migration d'une application jelix 1.2, c'est une affaire de quelques minutes, grâce au système de mise à jour de Jelix, mais aussi parce que les API n'ont que très peu changé.

Cette beta a été développée et largement éprouvée lors de la réalisation d'un gros projet d'un de mes clients (et par des contributeurs bien sûr). Vous pouvez donc l'utiliser à priori sans soucis particulier :-). Et d'ici la version finale dans quelques semaines, je ne pense pas qu'il y aura de gros changements.

À propos de clients et de l'avenir de Jelix, il faut savoir qu'une bonne partie des contrats que j'ai eu au cours de ces 12 derniers mois, concernait des projets relatifs à Jelix (consulting, formations, développement d'appli...), et ce n'était pas que pour des petites boites (BNP Paribas, Transatel..). Ce framework ne cesse donc de se déployer en entreprise. Et je compte faire en sorte que pour les prochains mois, le mouvement s’accélère !

Bien souvent on me posait la question de la pérennité du framework. Après 5 ans d'existence, motorisant des gros sites comme Overblog, tout un tas d'intranets et de sites publiques divers et variés, j’espère que cette question se posera moins souvent :-) Merci à ceux qui ont fait confiance au projet, et à ceux qui contribuent, que ce soit au niveau du code ou au niveau communauté.

PS: j'ai oublié de dire que le manuel pour cette version 1.3b est disponible, complet, en français et en anglais, en ligne ou en PDF