Les développements sur le framework continuent, et les corrections de bugs aussi. Voici donc deux versions correctives pour les branches 1.0 et 1.1. Plus de détails dans la news.
Projets
L'avancement dans les projets auquels je participe ou que je dirigevendredi, février 20 2009
Fuel dans XulRunner
Par Laurentj le vendredi, février 20 2009, 10:31
Avec le projet sur lequel je travaille, je refais du XUL à plein temps avec XulRunner 1.9.1. En effet, ces dernières années, je faisais plus des hacks dans Gecko en C ou des composants XPCom C que du XUL. Et du coup, je suis passé à coté de nouveautés :-).
Comme l'évolution de l'API Fuel.
Cette API, qui contient des fonctions intéressantes pour toute application XUL, n'était au départ disponible que dans Firefox (durant le développement de la version 3.0), et non dans le toolkit XUL. Et en fait, je viens de m'apercevoir que les fonctionnalités non spécifiques au navigateur sont maintenant dans les sources du toolkit (depuis la version stable de Gecko 1.9.0), donc disponible pour toute application XulRunner.
Sous certaines conditions cependant.
En effet, il faut se faire un composant XPCOM javascript, avec un IDL propre qui hérite de extIApplication (voir l'exemple dans Firefox), et inclure les sources de extApplication.js via une instruction de preprocessing #include. Pour ceux qui génèrent leur application avec les sources de Mozilla et qui utilisent le système de build de Mozilla. Pour les autres, il n'y a pas d'autres choix que de recopier le fichier extApplication.js dans leur chrome et l'inclure programmatiquement.
Cependant, grâce au fait que vous ayez à faire un objet XPCOM javascript, ayant son propre IDL, cela vous permet d'ajouter vos propres méthodes et propriétés sur l'objet Application qui sera exposé dans vos scripts javascripts de vos fenêtres XUL.
lundi, février 16 2009
Jelix 1.1
Par Laurentj le lundi, février 16 2009, 23:53
La version 1.1 de Jelix est sortie !
Merci à tout les contributeurs, que ce soit au niveau du code qu'au niveau de la rédaction du manuel :-)
mercredi, février 11 2009
En vrac
Par Laurentj le mercredi, février 11 2009, 11:31
La flemme de faire un billet pour chaque chose à dire, donc voici en vrac quelques news, en particulier sur mes projets...
vendredi, janvier 30 2009
Jelix motorise la première plateforme de blog française
Par Laurentj le vendredi, janvier 30 2009, 23:03
D'après Médiamétrie/Nielsen, la plateforme de blog Over-Blog est devenu la première plateforme de blog français en décembre, passant devant Skyrock (anciennement skyblog). Source: over-blog.
Over-blog a fait le choix il y a 2 ans et demi d'utiliser le framework jelix, Cette nouvelle me ravit donc :-)
lundi, janvier 5 2009
Nouveautés de Jelix 1.1RC2
Par Laurentj le lundi, janvier 5 2009, 11:33
La semaine dernière, j'ai publié une seconde version candidate pour Jelix 1.1. Pas mal de bugs corrigés et de petites améliorations mineures par ci par là. Mais je n'ai pas résisté à inclure un cadeau de noël, un nouveau module que j'ai écris en quelques dizaines de minutes : master_admin. Qui est accompagné d'une nouvelle commande initadmin.
Avec ce couple, vous pouvez réaliser une application d'admin from scratch en 5 minutes. Démonstration.
mercredi, décembre 10 2008
Regression sur les templates sqlite, et l'importance des tests unitaires
Par Laurentj le mercredi, décembre 10 2008, 13:39
En voulant utiliser les templates XUL avec sqlite dans BlueGriffon, Daniel a découvert un bug il y a quelques jours. Un méchant bug d'ailleurs, puisque les templates avec sqlite ne fonctionnaient quasiment plus ( je n'ai pas vérifié si ça l'est dans la dernière beta de Firefox ou si c'est juste dans le trunk).
C'est une régression qui est survenue suite à une "amélioration" dans le moteur principal de template, il y a... presque 2 mois !
Deux mois pendant lesquels les templates avec sqlite ne fonctionnaient plus. Et savez-vous pourquoi tant de temps ? Parce qu'il n'y avait pas de tests unitaires ! Donc aucun moyen de détecter automatiquement la régression.
Et à qui la faute ? En grande partie à moi : je n'avais pas développé de vrai tests unitaires lorsque j'avais implémenté le support de sqlite dans les templates XUL. Deux petites excuses tout de même :
- À l'époque, le framework de tests unitaires ne permettait pas de faire des tests dans le context chrome
- j'attendais en fait que Neil Deakin finisse son mini framework de tests sur les templates, pour y ajouter mes tests.
Mais bon, quand il eut terminé, ma tâche fut tombée dans l'oubli, noyé que je suis dans ma todo list.
Cependant, Neil m'a dévancé pour corriger le bug. Moi j'ai ajouté mes tests. Tout devrait être intégré dans le trunk dans les jours qui viennent, le temps que les reviews se fassent. Ouf.
mardi, décembre 9 2008
Testez Jelix 1.1RC1 !
Par Laurentj le mardi, décembre 9 2008, 01:52
Ouf, ça y est, la version 1.1RC1 est disponible. C'est le moment pour vous de venir essayer cette nouvelle version, afin de comparer Jelix avec d'autres frameworks, mais aussi de nous aider à débusquer les derniers petits bugs. À propos de stabilité, plusieurs développeurs utilisaient des versions de développement de Jelix 1.1 dans leurs projets et en production, et les tests unitaires nous permettent de vérifier qu'il n'y a pas de regressions, vous ne devriez donc pas rencontrer de problème sérieux. Mais rien n'est parfait en ce bas monde, donc on a besoin de plus d'yeux, et plus de tests manuels pour renforcer la robustesse du framework avant la sortie finale de Jelix 1.1.
Conçernant la documentation, on y travaille dur, et nous avons encore beaucoup de travaille sur la version anglaise du manuel de Jelix 1.1, mais la version française est quasi complète. Si vous voulez nous aider à traduire, n'hésitez pas, c'est un wiki. Nous allons aussi travailler à un nouveau tutoriel. De plus, je développe actuellement un nouvel outil pour générer automatiquement la documentation sur l'API (marre de phpdoc). Bref, nous avons beaucoup de travail sur le projet, tout aide est donc la bienvenue ! :-)
N'hésitez donc pas à venir sur notre channel IRC (irc.freenode.net, #jelix) ou le forum pour poser vos questions.
Aujourd'hui je ne serais par contre pas disponible, je serais au Forum PHP 2008 :-)
jeudi, décembre 4 2008
Petits plaisirs avec CSS3
Par Laurentj le jeudi, décembre 4 2008, 22:57
Pour la sortie de la version 1.1 de Jelix, je suis en train de faire quelques retouches sur le design du site web jelix.org. Je suis loin d'être un as du web design, de maitriser Gimp ou autre comme un pro, alors j'essaye de m'amuser avec les dernières propriétés CSS implémentées dans Firefox 3.1 qui arrive.
dimanche, novembre 23 2008
La documentation de Jelix en anglais
Par Laurentj le dimanche, novembre 23 2008, 16:56
Enfin ! La version anglaise du manuel de Jelix 1.0 est terminée. Un gros merci à Bibo pour l'énorme coup de main. Il y a certainement encore des coquilles, des phrases mal tournées (mon anglais n'est pas infaillible...) mais ça s'améliorera avec le temps. Toute aide est d'ailleurs la bienvenue : c'est un wiki ;-)
Comme la version française, le manuel est disponible en PDF. Et comme la version française, il y a deux version du PDF : la première générée à chaque sortie d'une nouvelle version mineure de Jelix 1.0, et une autre générée toutes les nuits, directement à partir du contenu du wiki.
On a aussi travaillé sur le manuel de Jelix 1.1. L'édition française est presque complète, tandis que la rédaction de l'édition anglaise vient tout juste de débuter.
À propos de Jelix 1.1, il reste encore un ticket avant la publication de la première "Release Candidate". C'est donc pour très très bientôt ;-)
Prochainement aussi : Jelix 1.0.7 et jTpl standalone 1.0. J'ai pas mal amélioré cette version standalone du moteur de template de Jelix, avec une configuration plus simple et surtout plus souple, et bien sûr les quelques nouvelles fonctionnalités que l'on a dans jtpl de Jelix 1.1 ;-)
mardi, septembre 30 2008
BlueGriffon™
Par Laurentj le mardi, septembre 30 2008, 12:43
This is now official, the successor to Nvu is BlueGriffon™.
Daniel has already done a lot of work on it, but we are not ready yet to release a first public version. However, you can take a look at our svn repository for the source code.
Of course, I will work on this project :
- I will develop some patches on Gecko to improve the editor. I began with a big revamp of the serializer, so XHTML will be much better serialized
- I will work on the web front-end : software update, web tools, etc..
lundi, septembre 29 2008
Jelix 1.1 beta est dispo
Par Laurentj le lundi, septembre 29 2008, 13:34
Ce week-end, j'ai sorti une beta de Jelix 1.1. Plein de nouveautés au programme, surtout dans le système de formulaire jForms, qui gagne en souplesse, et en fonctionnalités :
- de nouveaux contrôles : captcha, champ caché, groupe, choix avancé, éditeur html...
- modification dynamique du formulaire : ajout/suppression et activation/désactivation de contrôles
- possibilité de connaître les valeurs modifiées
- intégration de jQuery
- générateurs sous formes de plugins, vous permettant de choisir plus facilement le format de sortie, ou la manière dont sont générés les champs du formulaire
Il y a également :
- une nouvelle version du système de droit, jAcl2, plus facile à utiliser et à configurer. Un module est fournie pour gérer les droits.
- le support SOAP
- la nouvelle réponse htmlfragment pour les réponses ajax html
- le nouveau moteur d'url basic_significant
- des nouveaux plugins pour le moteur de template
- les nouvelles classes utilitaires jIniModifier, jHttp, jMessage, jDuration (pour jDateTime)...
La doc en français est presque complète, et est dispo en téléchargement en pdf comme d'habitude.
La venu de cette beta vient un peu tard, c'est pourquoi je pense qu'il n'y aura pas de beta2 et qu'on passera directement à une RC, Les plus gros trucs prévus pour la beta2 seront probablement repoussés à une version 1.2. Mais vu le rythme du développement, vu que le trunk, utilisé par de nombreuses personnes, est particulièrement stable dans le temps, je pense que l'on va se permettre d'avoir un cycle de sortie plus court. (max 6 mois par exemple, on verra).
jeudi, juillet 24 2008
Sortie de Jelix 1.0.5, futur de la 1.1 et projet de bug tracker
Par Laurentj le jeudi, juillet 24 2008, 11:04
On essaie d'être le plus régulier possible dans la sortie des versions de maintenance, donc voici Jelix 1.0.5 qui corrige des bugs mineurs. La version 1.0.6 sortira dans deux mois. Si il y a de nouveaux bugs bien sûr :-)
Après un calme assez plat dans les développements de la version 1.1, à cause de la préparation des RMLL, et d'autres occupations qui ont accaparé mon temps, l'activité a repris ces derniers jours, avec encore des nouveautés dans jForms, comme la possibilité de grouper des contrôles, une API plus complète sur les contrôles, et un nouveau contrôle <choice> pour avoir une liste de choix contenant des contrôles, comme dans un bug tracker :
<choice ref="task">
<label>Task status</label>
<item value="new">
<label>New</label>
</item>
<item value="assigned">
<label>Assigned</label>
<input ref="assignee" required="true">
<label>assignee name</label>
</input>
</item>
<item value="closed">
<label>Closed</label>
<menulist ref="task-done">
<label>Status</label>
<item value="done">Done</item>
<item value="cancelled">Cancelled</item>
<item value="later">Later</item>
</menulist>
</item>
</choice>
J'ai encore quelques améliorations à faire, pour rendre jForms plus maléable (rajouter des champs de saisie à la volée par exemple), et après ça, probablement qu'une version beta sortira.
Au passage, si j'ai développé cette balise <choice> avec cet exemple d'utilisation pour un bug tracker, ce n'est pas par hasard. Souvenez vous de mon coup de gueule sur Trac, et des résultats de mes recherches d'un nouveau bug tracker, qui sont finalement restées vaines. Au bout du compte, j'avais décidé à l'époque d'en créer un nouveau, je me suis lancé donc dans ce développement.
Cela m'a permis d'utiliser pleinement Jelix, et de découvrir sa force (2 heures seulement pour faire la gestion complete des reports comme dans trac !), mais aussi certaines faiblesses. D'où la création d'un nouveau système de gestion de droits, jAcl2, avec son module d'admin, mais aussi des améliorations dans jForms, dont celles que je viens d'évoquer. Et tout ça est dans le trunk de jelix maintenant. Ces développements ont bien sûr ralenti ceux de mon projet de bug tracker, mais maintenant que je vais presque avoir tout ce qu'il faut, je vais pouvoir me relancer à fond dans ce projet.
Alors bien sûr, je sais que c'est un peu la mode en ce moment de faire un bug tracker en PHP (à cause entre autre je pense du concours sur developpez.com). Mais je me suis lancé dans ce projet bien avant cette mode ;-). Pour le moment, il n'est pas vraiment utilisable, mais ça va le devenir :-) Enjoy !.
vendredi, juin 20 2008
Un nouveau depôt pour jelix
Par Laurentj le vendredi, juin 20 2008, 17:19
Le projet Jelix était initialement hébergé sur la plateforme developer.berlios.de. Mais petit à petit, à cause d'une qualité moyenne de l'hébergement, et parce que Nicolas me prête un peu de sa dedibox, j'ai migré certaines choses de berlios vers le serveur jelix.org. Ça d'abord été le site principal (berlios trop chargé), puis abandon du bugtracker (trop simpliste) après installation d'un trac sur http://developer.jelix.org.
Je gardais toutefois le dépôt subversion sur berlios, par flemme de migrer d'abord, mais ensuite parce que ça animait les stats d'activité du projet, donnant alors en principe une certaine visibilité au projet. Mais les problèmes récurrents d'accès aux dépôts subversions ces dernières semaines m'ont fait prendre la décision de migrer, d'autant plus que ces stats n'ont finalement rien apporté en 2 ans.
Bref donc, à coup de svndump et svn load, le dépôt est maintenant sur svn.jelix.org. On a donc maintenant un accès plus rapide, et plus fiable normalement :-).
Les fichiers en téléchargement et les mailing lists restent par contre sur berlios pour le moment.
Je vais aussi certainement ouvrir en partie le dépôt subversion des fichiers des sites *.jelix.org[1] , en espérant avoir quelques contributeurs qui m'aideront à les faire évoluer. Il y a de plus en plus de chose à faire dessus (notamment l'intégration d'un site de "snippets" codé avec Jelix qui ouvrira dans les prochaines semaines), mais mon temps disponible, lui, ne s'allonge pas. Si au passage il y a des volontaires...
Notes
[1] j'ai du nettoyage à faire d'abord dans ce dépôt, comme cacher les fichiers sensibles, mettre à jour les cartouches de licence sur les trucs "fait maison" etc
mardi, juin 3 2008
Jelix 1.0.4 et un article sur Linux+ DVD
Par Laurentj le mardi, juin 3 2008, 11:07
On continue avec les sorties régulières de versions de maintenance de Jelix 1.0. Hier donc c'était la sortie de Jelix 1.0.4 qui corrige quelques bugs mineurs. Nous continuons à suivre une politique stricte sur les versions :
- Les versions mineures en 1.0.x ne corrigent que des bugs, et n'apporte que des "micro" améliorations, pour éviter d'avoir des regressions ou des nouveaux bugs. La stabilité avant tout.
- Les versions intermédiaires en 1.x apporteront des nouveautés, voir quelques APIs cassées mais seulement sur des composants "périphériques" : on ne modifie pas l'API du coeur du framework (contrôleurs, vues etc...) tout au plus peut-on se permettre de rajouter des méthodes et propriétés ou nouveaux objets dans le coeur. Avec bien sûr son lot de nouveaux composants et d'évolutions sur les composants existants.
- Les version majeures : on se permettra de tout casser si il le faut. Je pense qu'une version 2.0 sera envisagée pour la sortie de PHP 6, profitant des évolutions de ce dernier (et sera donc incompatible avec PHP5). Mais il n'y a rien d'arreté pour le moment, Jelix fonctionne bien comme il est :-).
La sortie de cette version 1.0.4 coïncide avec la sortie de l'article de Bastien (contributeur au projet) dans le numéro spécial de Linux+ DVD : "Développer efficacement avec Jelix".
vendredi, mai 16 2008
Avancées sur la documentation de Jelix
Par Laurentj le vendredi, mai 16 2008, 23:18
La documentation sur un outil de développement comme un framework est souvent un problème. D'une part parce que, bien souvent, le développeur n'aime pas écrire de la doc, mais aussi parce que soit la rédaction de la documentation n'est pas aisée, soit elle n'est pas disponible dans un format autonome et imprimable.
lundi, avril 7 2008
Jelix 1.0.3 et cie
Par Laurentj le lundi, avril 7 2008, 13:26
Hier j'ai sorti la version 1.0.3 de Jelix, avec son lot de petits bugs corrigés, mais aussi quelques améliorations, dont l'apparition d'une page de démarrage lorsque l'on crée une application (voir le mini tutoriel mis à jour pour l'occasion). Cette page n'affiche pas qu'un message de bienvenu, mais fait aussi un diagnostic de la configuration et de l'installation (comme la configuration de PHP), et préviens donc si il y a des choses qui risquent de gêner le bon fonctionnement de Jelix.
À part ça, ça avance un peu dans la future version 1.1. Les principales nouveautés que j'ai ajouté dernièrement, ce sont :
- les évolutions dans jForms, qui permettent je pense de commencer à montrer le potentiel de ce système de formulaire, dont :
- le support de la balise
<htmleditor>. Une simple balise, et vous avez un éditeur HTML wysiwyg dans votre formulaire. Actuellement, j'ai fait le choix que ce soit Wymeditor le moteur de cet éditeur, mais si vous en voulez un autre, il n'y a pas de souci. Quelques lignes dans le fichier de configuration de jelix et tout votre site utilise fckeditor ou tinymce ou ce que vous voulez. Voir la documentation sur la balise htmleditor. Bien sûr, coté serveur, jForms nettoie le HTML de manière à éviter les problèmes de sécurité comme XSS et cie. - le support de la balise
<captcha>. Là encore, pour avoir un captcha de type "test de turing" (les captchas de type image viendront plus tard), il suffit juste d'ajouter cette balise et jForms s'occupe du reste (choix de la question, génération du champs de saisie, vérification coté serveur de la réponse etc).
- le support de la balise
- jAcl2, un nouveau système de gestion de droits, qui s'inspire de jAcl, mais en plus simple.
Le développement de Jelix 1.1 ne va pas aussi vite que je le voudrais (en tout cas, en ce qui me concerne, car il y a pleins de nouveautés qui vont débarquer grâce aux contributeurs ;-) ). En effet, je bosse aussi sur des petits projets annexes comme le module jcommunity qui apporte tout ce qu'il faut sur un site pour que les gens puissent s'inscrire, s'identifier, avec gestion des mots de passe perdu, gestion de leur profils etc. Et puis je travaille aussi sur un autre projet perso (basé sur jelix bien sûr) mais je vous en dirais plus plus tard ;-).
jeudi, mars 20 2008
Peer-review et avancées dans Jelix
Par Laurentj le jeudi, mars 20 2008, 11:19
Quelques nouvelles de Jelix. Ce n'est pas parce que j'en parle moins en ce moment sur mon blog, que ça n'avance pas :-)
mercredi, mars 5 2008
Un exemple simple d'utilisation de jForms
Par Laurentj le mercredi, mars 5 2008, 10:17
J'ai écrit[1] un petit tutoriel qui montre un exemple simple sur l'utilisation de jForms, le système de formulaire de Jelix. J'ai repris le même exemple de formulaire que dans ce récent post sur un exemple simple d'utilisation de Zend_Form
Notes
[1] relu par des contributeurs, merci à eux
vendredi, février 15 2008
Version 1.0.2 du framework PHP Jelix
Par Laurentj le vendredi, février 15 2008, 10:19
Parce que je n'aime pas laisser trainer des bugs trop longtemps dans des releases officielles, voici une nouvelle version de maintenance pour Jelix 1.0. Bon, rien de grave, elle corrige juste 8 bugs mineurs :-) C'est par ici que ça se passe.
Dans le même temps, les travaux sur la future version 1.1 avancent. J'ai finalement décidé d'inclure wymeditor dans jelix, pour avoir un éditeur HTML wysiwyg. Il est léger, respecte les standards, et surtout suffisamment petit pour que je puisse le hacker si besoin est sans trop de difficulté. Comme il repose sur jQuery, ce framework javascript sera donc intégré d'office dans Jelix. Et ça tombe bien, parce qu'il y a des plugins pour afficher des "datepickers" dans les formulaires, chose dont je vais avoir besoin dans jForms. Bien sûr, comme jForms est devenu extensible sur la partie génération de formulaire, ceux qui ne veulent pas de jquery et wymeditor, pourront se faire leur propre générateur qui reposerait sur les bibliothèques javascript de leur choix. Toutes contributions en ce sens sont la bienvenue !
D'ailleurs toutes contributions quelle qu'elles soient sont la bienvenue. Par exemple, j'aimerais bien avoir une meilleure présentation pour la présentation de la doc de réference. Les frames, c'est pas super top. Cependant phpdoc est assez complexe sur tout ce qui est personnalisation de templates et de la façon dont générer la doc, et donc je n'ai pas vraiment le temps pour le moment de me pencher dessus. Donc si il y a un volontaire dans la salle :-)
Mieux, si vous aimeriez réaliser un remplaçant de phpdoc, plus léger et plus facile à configurer, vous pouvez toujours contribuer à un projet que j'avais lancé il y a quelques mois, jphpdoc (il n'est pas basé sur jelix).
« billets précédents - page 2 de 9 - billets suivants »