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

Projets

L'avancement dans les projets auquels je participe ou que je dirige

Fil des billets - Fil des commentaires

vendredi, janvier 30 2009

Jelix motorise la première plateforme de blog française

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

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.

Lire la suite...

mercredi, décembre 10 2008

Regression sur les templates sqlite, et l'importance des tests unitaires

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 :

  1. À l'époque, le framework de tests unitaires ne permettait pas de faire des tests dans le context chrome
  2. 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 !

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

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.

Lire la suite...

dimanche, novembre 23 2008

La documentation de Jelix en anglais

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™

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

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

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

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

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

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.

Lire la suite...

lundi, avril 7 2008

Jelix 1.0.3 et cie

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).
  • 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

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

Lire la suite...

mercredi, mars 5 2008

Un exemple simple d'utilisation de jForms

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

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

dimanche, janvier 27 2008

jForms devient extensible

Dés le départ, quand j'ai conçu l'architecture du système de formulaire jForms, dans Jelix, j'ai fait en sorte que chaque partie de jforms soit suffisamment bien séparée des autres, de manière à le faire évoluer le plus facilement possible. Par exemple, un des objectifs premiers était, à partir d'un unique fichier descriptif de formulaire en XML, de pouvoir générer un formulaire dans le format que l'on veut : HTML, XUL, XForms etc.. Ainsi donc, dans jForms il y a

  • un objet pour l'analyse du fichier XML jforms
  • un ensemble d'objet pour l'instanciation et la manipulation d'un formulaire coté serveur dans les contrôleurs,
  • d'autres pour la validation des données coté serveur,
  • et enfin un autre pour la génération finale d'un formulaire dans un format précis.

Dans Jelix 1.0.1, il n'y a qu'un format de sortie disponible, qui est du HTML que je qualifierai de "classique" (comprendre, pas de DHTML et ajax dans tout les sens), avec une génération de code javascript pour la validation coté client. On peut ajouter d'autres formats, mais il faut modifier quelques lignes dans le code même de jForms, ce qui n'est pas des plus pratique, malgré l'existence d'une documentation sur ce sujet pour les "hackers".

Ce temps est cependant révolu : je viens de passer deux petites heures à modifier légèrement jForms afin que les générateurs de sortie soient sous forme de plugins. Ainsi, plus besoin de modifier le code de jForms pour ajouter un nouveau format. Il suffit de faire une simple classe que l'on dépose dans un répertoire de plugin, de faire les plugins de templates qui vont avec et c'est tout. Bien entendu, rien ne change au niveau utilisation ;-)

Il est probable ainsi que l'on puisse, dans Jelix 1.1, générer un formulaire HTML utilisant extjs par ex, ou générer un formulaire en XUL (et plus tard un plugin pour générer un formulaire HTML5 ;-) .

Prochaines évolutions dans jforms : de belles balises comme <htmleditor>, <captcha>.. ;-)

lundi, janvier 21 2008

Jelix 1.0.1

Ce n'est pas parce que j'ai sorti une version majeure il y a 10 jours qu'il faut baisser le rythme. Alors voici une nouvelle version 1.0.1 qui corrige des bugs mineurs remontés par des utilisateurs, en plus d'une vulnérabilité dans phpMailer qu'utilise la classe jMailer de Jelix. Avec en bonus quelques petites améliorations aussi. Tous les détails ici.

jeudi, janvier 10 2008

Et hop, Jelix 1.0 !

Deux ans après l'annonce officielle du démarrage du projet, la version 1.0 du framework Jelix est enfin disponible. Je vous invite donc à l'essayer et à l'utiliser :-) Si il y en a parmi vous qui veulent propager la bonne nouvelle, ils peuvent réutiliser le communiqué de presse.

Quelques chiffres parce que j'aime bien les chiffres :

  • Je n'ai pas passé 2x365 soirées à le développer, à le débogguer, à répondre aux sollicitations des utilisateurs, à valider les patchs des contributeurs. Mais presque. Sans compter les heures que Disruptive Innovations me permet de passer sur le projet.
  • 732 commits dans le dépôt subversion
  • 293 tickets fermés dans le tracker, sans compter une soixantaine qui était dans le tracker sur berlios dans les débuts. Parmi ces 293, 54 tickets concernent des patchs fournis par des contributeurs (et intégrés dans Jelix).
  • plus de 120 tickets sur le total ont été ouvert par des contributeurs.
  • Il y a actuellement encore 117 tickets ouverts, pour la plupart concernant des améliorations et des nouvelles fonctionnalités (c'est dire si il y a encore du boulot :-)).
  • 1557 messages à ce jour dans le forum.

Bon, faut pas se leurrer, ce sont quand même des petits chiffres par rapport à d'autres projets :-). Mais on va voir comment ça va évoluer.

Merci à tout ceux qui ont aidé à faire aboutir Jelix 1.0 !


Trackbacks manuels :

jeudi, janvier 3 2008

Jelix 1.0RC2, incohérences de PHP...

J'ai sorti hier soir une deuxième version candidate pour Jelix 1.0, corrigeant quelques bugs. Les plus embêtants d'entre eux sont dû, non pas à Jelix à proprement parler, mais à des incohérences dans PHP.

Lire la suite...

- page 2 de 9 -